Advertisement

Android控件捕获焦点

阅读量:

问题来源:
在使用android:ellipsize="marquee"这一属性时,发现textview组件无法正常展示跑马灯效果,查阅相关资料后得知需要先获取焦点,因此尝试调用textview.requestFocus();,但并未达到预期效果。
随后便有了本文的诞生,关键解决方案登场:requestFocus();setFocusable();setFocusableInTouchMode();

先来看一下源码中的相关说明:

这里写图片描述
这里写图片描述

这两种方式的核心目标相同,均是为了确定view是否具备获取焦点的能力。TouchMode从字面意义来看,即为触屏模式下的操作方式。需要注意的是,若将setFocusable设置为false,则在触屏模式下同样会失效;而将setFocusableInTouchMode设置为true时,非触屏模式下也会保持为true。因此,

全部评论 (0)

还没有任何评论哟~