android - 如何在水平 ScrollView 中获取当前焦点元素?

标签 android focus scrollview

我实现 ScrollView 来显示 View 元素... Scroll view in center with two button on left and right button to shift scroll

现在在这种情况下,我想将焦点从 ScrollView 转移到按钮。

有人知道吗?

最佳答案

选项 I:在 ScrollView 内的所有 subview 上使用 getLocationOnScreen

  1. 获取 ScrollView 的实例。

    ScrollView scrollView = findViewById(R.id.scrollViewID);

  2. 类型转换为 ViewGroup

    ViewGroup viewGroup = (ViewGroup)scrollView;

  3. 查找 ViewGroup 的所有 subview (查看 Android 文档)

    通过调用 - getLocationOnScreen 获取表示 subview 在屏幕上位置的矩形

    getLocationOnScreen 会将 x,y 坐标存储在 Rect 对象中,比较矩形 x,y 坐标以查看矩形是否位于屏幕边界内。 (您可以在内容 View / Root View 上使用 getLocationOnScreen 获取屏幕)

选项 II:getGlobalVisibleRect on ScrollView 中的所有 subview (快速简单)

  1. 获取 ScrollView 中的所有 subview 。在每个 subview 上调用 getGlobalVisibleRect,如果它返回 true,则意味着至少部分 subview 是可见的。

关于android - 如何在水平 ScrollView 中获取当前焦点元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14599521/

相关文章:

android - 我怎样才能在我的 ActionBar (ActionBarSherlock) 上有阴影?

android - 如何用Glide给textview设置背景图片?

android - 致命异常 : Thread-18 java. lang.OutOfMemoryError:在使用较低版本设备的 android volley 中

Java 阻止 JComponent 的焦点

angular - 在单元测试 Angular 时测试 scrollintoview

c# - 自托管 Web API 的正确方法是什么?

html - 仅使用 css 更改输入焦点的背景颜色

java - 单击表格右侧时如何清除表格选择

android - 在 ScrollView 中居中内容

javascript - React Native - 在滚动条上隐藏键盘