在android开发过程中需要用到跑马灯的字体,单实现该功能只需对TextView作如下配置:

    
但是在TextView失去焦点后跑马灯效果也就没有了,于是可以添加如下改进:

step1:写一个类继承自TextView,重写其isFocused()和onFocusChanged()方法:

@Overridepublic boolean isFocused() {return true;}@Overrideprotected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {}

step2:在布局文件里引用你写的类:

    

现在TextView已经一直获得焦点从而一直滚动,但是问题又来了:如果调用了其他功能,比如说EditText输入,则焦点就转到输入框了,外加键盘也被调出来,TextView又停止了滚动!因此需要再进一步:

step3:在刚写的类里重写onWindowFocusChanged()方法:

@Overridepublic void onWindowFocusChanged(boolean hasWindowFocus) {}
于是就大功告成了!博主亲测有效。

转载请注明~

更多相关文章

  1. Android(安卓)的两种Menu (菜单)
  2. Android(安卓)相机开发 Camera-附带扫码遮罩界面实现原理(自动聚
  3. [已解决]Android(安卓)ListView EditView 获取焦点问题
  4. 数据更新后让ListView自动滚动到底部
  5. android实现垂直方向跑马灯效果
  6. 如何不让EditText不获得焦点
  7. Android(安卓)源码 listview 重用机制 浅析
  8. Android(安卓)实现“再按一次退出程序”
  9. 自定义View详解

随机推荐

  1. React 16.3新API
  2. 第2年
  3. 我们到底该如何学习数据结构与算法
  4. 为你Springboot项目自定义一个通用的异常
  5. 看源码,我为什么推荐IDEA?
  6. Linux Kernel and Android(安卓)休眠与唤
  7. JDBC 性能小贴
  8. 996我没觉得有啥毛病啊
  9. Spring AOP就是这么简单啦
  10. 你的接口,真的能承受高并发吗?