我实现 ScrollView 来显示 View 元素...
现在在这种情况下,我想将焦点从 ScrollView 转移到按钮。
有人知道吗?
最佳答案
选项 I:在 ScrollView
内的所有 subview 上使用 getLocationOnScreen
获取 ScrollView 的实例。
ScrollView scrollView = findViewById(R.id.scrollViewID);
类型转换为 ViewGroup
ViewGroup viewGroup = (ViewGroup)scrollView;
查找
ViewGroup
的所有 subview (查看 Android 文档)通过调用 - getLocationOnScreen 获取表示 subview 在屏幕上位置的矩形
getLocationOnScreen 会将 x,y 坐标存储在 Rect 对象中,比较矩形 x,y 坐标以查看矩形是否位于屏幕边界内。 (您可以在内容 View / Root View 上使用 getLocationOnScreen 获取屏幕)
选项 II:getGlobalVisibleRect
on ScrollView
中的所有 subview (快速简单)
- 获取 ScrollView 中的所有 subview 。在每个 subview 上调用
getGlobalVisibleRect
,如果它返回 true,则意味着至少部分 subview 是可见的。
关于android - 如何在水平 ScrollView 中获取当前焦点元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14599521/