首先先来说明这两个属性的区别,借鉴书上的一段文字:

大多数控件都可以获得焦点,也就是处在选中状态,如果android:focusable属性值为true,表示可以通过键盘(虚拟键盘或者物理键盘)或者轨迹球将焦点移动到当前控件上,如果该属性值为false,则无法将焦点移动到当前控件。

在默认情况下,触摸一个按钮虽然可以触发该控件的单机事件,但无法使控件处在焦点状态。而将andorid:focusableInTouchMode属性值设为true,当触摸某个控件时,会先将焦点移动到被触摸的控件上,然后需要在触摸该控件才会响应单击事件。但是要注意的是们需要将android:focusable属性值设为true,当前控件才可能获得焦点,否则当前控件无论使用何种方式都无法获得焦点。


例子:

    


进入该页面时,因为button设置focusableInTouchMode为true,则一进入该页面时,先获得了焦点。这时可以先点击edittext,这时输入框获得焦点,并弹出输入法,这时候去点击button,会发现button获得焦点,而且你会发现button的外观也不一样,外面有一圈边框,显示已获得焦点的状态。当然此时输入框已失去焦点,没有光标。


但是如果button没有设置focusableInTouchMode的属性话,即使狂点,焦点还是在输入框上,光标依旧可见。


更多相关文章

  1. android中,实现水平方向上三个按钮左对齐、居中对齐、右对齐效果
  2. Android(安卓)App开发架构之:MVVM
  3. Android中EditTex焦点设置和弹不弹出输入法的问题
  4. Android5.0以上的状态栏透明和沉浸式模式兼容底部导航栏与界面重
  5. Android用户界面设计:线性布局
  6. Android播放多张图片形成的一个动画示例
  7. 自己实现的android树控件,android TreeView
  8. Android(安卓)自定义底部上拉控件的实现
  9. Android(安卓)尺寸dp,sp

随机推荐

  1. Android屏幕截图并保存截取屏幕的图片到
  2. android switch button 报 java.lang.Nul
  3. Android内核编译和裁剪
  4. S5PV210 ANDROID 为摄像头增加闪光灯
  5. Android发送邮件
  6. android 自定义progressbar 样式
  7. Android定时器实现的几种方式
  8. android 中的定时任务
  9. Android复习(七)
  10. Android文章收藏