我正在尝试创建一个 Android 应用程序,该应用程序提供辅助功能服务,当激活该服务时,它会捕获整个屏幕内容及其内部的 View 。 我查阅了很多 Android 文档,并了解到我可以获取包含大量有关屏幕内容的信息的 AccessibilityNodeInfo。 问题是我想拥有 View 本身。 AccessibilityNodeInfo 提供了 className、packageName、childs、parents、大量关于是否可聚焦、可检查的 boolean 值,甚至还提供了 View 的文本。我说,如果我可以读取 View 的文本,为什么我不知道它的宽度、高度、位置、字体等?
最佳答案
您可以使用AccessibilityNodeInfo.ExtraRenderingInfo获取 View 的 TextSize 或 LayoutSize(width,height)。这是在 API 30 中添加的。
AccessibilityNodeInfo mNodeInfo;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
int height=mNodeInfo.getExtraRenderingInfo().getLayoutSize().getHeight();
}
关于java - 如何在android上使用AccessibilityService获取屏幕上的View对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58477112/