享受技术带来的快乐

目标赋予我们生命的意义和目的。有了目标,我们才会把注意力集中在追求喜悦,而不是在避免痛苦上。...

android中view的focus焦点处理
通过isFocusable()这个方法我们可以知道view是否具有接受焦点的资格,通过setFocusable().来设置view接受焦点的资格;

         对应在触摸模式下,你可以调用isFocusableInTouchMode().来获知是否有焦点来响应点触,也可以通过setFocusableInTouchMode().来设置是否有焦点来响应点触的资格.

         在Activity中,当我们按上下左右方向键时,view中的焦点也会移动,我们怎么控制他的移动顺序呢,在XML属性布局文件中,有四个属性: nextFocusDown , nextFocusLeft , nextFocusRight ,和nextFocusUp, 设置他们的值来明确焦点从当前界面移动下个界面的Id。例如:
<LinearLayout 
    android:orientation="vertical" 
    ... > 
  <Button android:id="@+id/topBtn" 
          android:nextFocusUp="@+id/bottomBtn" //当焦点处在这个topBtn按钮上,再按向上方向键,焦点就会移动到bottomBtn按钮上。
          ... /> 
  <Button android:id="@+id/bottomBtn" 
          android:nextFocusDown="@+id/topBtn" //当焦点处在这个bottomBtn按钮上,再按向下方向键,焦点就会移动到topBtn按钮上。
          ... /> 

</LinearLayout>

二.不让文本输入框默认获得焦点,弹出键盘占据我们的屏幕的方法

有时会遇到一种情况,在真机运行一个页面,焦点会默认在EditText上,然后自动弹出键盘来占据大半个屏幕。处理方法很简单。在配置文件中加一句:

<activity ...  android:windowSoftInputMode="stateAlwaysHidden|adjustResize"  />
这样即可,意思是默认隐藏键盘输入法。

阅读更多
个人分类: Android UI Android开发
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

android中view的focus焦点处理

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭