随着Android系统的应用越来越广泛,Android系统应用控制可以使用方向键、遥控器、轨迹球、触摸屏等方式。因此,了解Android焦点的控制是十分重要的,本文就此分享一些关于焦点控制的方法和经验。
一、查看焦点的相关方法
在View类中有成员函数findFocus(),可以通过该函数来获取当前View中的焦点。如果希望得到当前Activity的 视图 可以使用 :ActivityName.this.getWindow().getDecorView(); 方法来获取当前窗口的顶层视图。
针对于某一个控件是否获取到了焦点,可以使用View的成员函数 hasFocus() 来查看当前控件是否获取到了焦点。
当焦点在某个视图上时,我们希望找到该视图在某个方向上的下一个焦点,则我们可以用以下方法:
public View focusSearch(int direction) 该方法可以找到在当前聚焦视图的某个特定方向上最近的视图,需要注意的是该方法实际上并没有聚焦的作用。
方向(direction)包括View中的 FOCUS_BACKWARD FOCUS_FORWARD FOCUS_UP FOCUS_DOWN FOCUS_LEFT FOCUS_RIGHT 。
二、焦点的控制
让我们先来看几个重要的获取焦点的相关方法: