我正在尝试创建一个android应用程序,它提供一个辅助功能,当激活时,它会捕获整个屏幕内容和其中的视图。我看了很多安卓文档,我得到的理解是,我可以得到AccessibilityNodeInfo,它有很多关于屏幕内容的信息。问题是我想自己拥有视图。AccessibilityNodeInfo提供了className,packageName,childs,parents,许多关于它是否可聚焦,可检查的布尔值,它甚至还提供了视图的文本。我说,如果我能读懂View的文本,为什么我不能知道它的宽度、高度、位置、字体等等?
发布于 2021-07-31 10:17:42
您可以使用AccessibilityNodeInfo.ExtraRenderingInfo来获取视图的宽度或高度( TextSize,LayoutSize)。这是在API 30中添加的。
AccessibilityNodeInfo mNodeInfo;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
int height=mNodeInfo.getExtraRenderingInfo().getLayoutSize().getHeight();
}发布于 2019-10-21 04:48:22
问题是我想拥有视图本身
这是不可能的,对不起。
如果我可以阅读视图的文本,为什么我不应该知道它的宽度、高度、位置、字体等。?
可能是因为这些东西对可访问性的价值有限。如果你能提供一个详细的描述,说明了解这些事情将如何让你改善那些有身体挑战的人的生活,file a feature request。
尽管如此,最有可能的情况是Google会在现有的accessibility对象中添加这种细节。
https://stackoverflow.com/questions/58477112
复制相似问题