1.

android:focusable与android:focusableInTouchMode

前者针对在键盘下操作的情况,如果设置为true,则键盘上下左右选中,焦点会随之移动。

而后者,显然是针对触屏情况下的,也就是我们点击屏幕的上的某个控件时,不要立即执行相应的点击逻辑,而是先显示焦点(即控件被选中),再点击才执行逻辑。

android:focusable=“true”不会改变android:focusableInTouchMode,因此只在键盘状态下显示焦点,在TouchMode状态下,依旧无法显示焦点。

android:focusable=“false”,一定会使android:focusableInTouchMode=“false”。

相对的

android:focusableInTouchMode=“false”,不会影响android:focusable。

android:focusableInTouchMode=”true”,一定会是android:focusable=“true”

 2.

    view.addOnAttachStateChangeListener() 可监听控件状态,在listview等控件中可以用于监控item状态而初始化设置焦点

@Overridepublic void onViewAttachedToWindow(View v) {    v.setFocusableInTouchMode(true);    v.requestFocus();    v.removeOnAttachStateChangeListener(this);}@Overridepublic void onViewDetachedFromWindow(View v) {    v.removeOnAttachStateChangeListener(this);

}

3.android:duplicateParentState = "true" 可使view的聚焦选中等状态 更随父控件状态改变。


更多相关文章

  1. android输入法弹出调整布局与沉浸式状态栏冲突+fitSystemWindows
  2. Android控件开发——ListView
  3. Android 8.0 状态栏信号显示、信号定制
  4. Android中通过WebView控件实现与JavaScript方法相互调用的地图应
  5. 设置控件的透明度 ,android:layout_centerInParent="true" 失效
  6. Android布局文件中控件的高度与宽度属性设置
  7. 相对布局中取值为其他控件id 的属性及说明
  8. Android中StateListDrawable的种类(状态的种类)
  9. Android深入浅出自定义控件(一)

随机推荐

  1. Android邮件附件中文名乱码问题草解
  2. android上传图片、视频、文件,服务端使用w
  3. Android启动模式——LaunchMode
  4. android操作sdcard中的多媒体文件
  5. Android关键资源详解
  6. Android(安卓)PC端截图源代码
  7. 拥抱Android
  8. Android界面设计中的.9.png的使用技巧
  9. Android应用程序注册广播接收器(registerR
  10. Android之ListView和ArrayAdapter的组合