那些年关于Focusable和clickable的坑,完美解决。

来源:互联网 发布:运动软件电脑版 编辑:程序博客网 时间:2024/05/16 17:01

之前也出现过类似的问题,解决办法直接将ImageView在xml中添加onfocusable 属性,clickable属性就解决了。

有俩个问题:

(1)ImageView抢夺父布局焦点中关于Focusable的坑。

可是这次竟然没有反应,尝试了半天,最终发现要在代码中设置

mIvAvatar.setClickable(false);

其中setClickable属性占作用。这样就可以解决问题了。

(2)GridView抢夺ScrowView 焦点,整体布局直接向上移动一段距离。

而这时,在设置clickable(false);就没有作用了,在xml中设置也是没有作用的,只有在代码中设置setFocusable(false);才有作用。

所以总结以上两点,一般出现与抢夺焦点有关的问题的时候,在代码里同时设置

setClickable(false);

setFocusable(false);

(3).在布局的根设置属性android:descendantFocusability="blocksDescendant"

这样一般就可以解决问题。

希望可以帮到有需要的帮助的童鞋。


原创粉丝点击