1、setFocusable和setFocusableInTouchMode的区别
1)setFocusable
设置为true: 在键盘下操作的情况,则键盘上下左右选中,焦点会随之移动。
2)setFocusableInTouchMode
作用: 针对触屏情况
设置为true: 当我们点击屏幕的上的某个控件时,第一次点击先显示焦点(即控件被选中),不会执行相应的点击逻辑,再次点击才执行点击逻辑。
2、setFocusable和setFocusableInTouchMode的联系
3、requestFocusFromTouch 和 requestFocus相同点
(userNameEditText.isInTouchMode()) {
userNameEditText.requestFocusFromTouch();
} else{
userNameEditText.requestFocus();
}
这两个方法都是获得焦点的方法
4、requestFocusFromTouch 和 requestFocus联系
requestFocus()在两种情况下不能获得焦点:
1).对应的View不支持Focus
2).对应的View支持Focus,但是不支持在Touch模式下的Focus。
requestFocusFromTouch保证在requestFocus()获取焦点失效的情况下,也能够获得焦点。
原文链接:https://blog.csdn.net/ch_kexin/article/details/124047343