跑马灯不生效的问题
来源:互联网 发布:mwap网站js弹广告 编辑:程序博客网 时间:2024/04/30 07:01
在工作过程中,很多地方需要用到跑马灯,跑马灯的理解是需要获取到焦点才能自动跑起来,但是同一时刻只能有一个控件获取到焦点,那对于需要跑马灯的子控件该怎么办呢,以前无知的我在网上搜索了很多都是使用自定义一个TextView,来使得子控件获取焦点返回true。
MarqueeView:
package com.cultraview.ctvmenu.ui.view;import android.content.Context;import android.graphics.Rect;import android.util.AttributeSet;import android.view.ViewDebug.ExportedProperty;import android.widget.TextView;public class MarqueeView extends TextView { public MarqueeView(Context context) { this(context, null); // TODO Auto-generated constructor stub } public MarqueeView(Context context, AttributeSet attrs) { this(context, attrs, android.R.attr.textViewStyle); } public MarqueeView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onFocusChanged(boolean arg0, int arg1, Rect arg2) { // TODO Auto-generated method stub if (arg0) super.onFocusChanged(arg0, arg1, arg2); } @Override public void onWindowFocusChanged(boolean hasWindowFocus) { // TODO Auto-generated method stub if (hasWindowFocus) super.onWindowFocusChanged(hasWindowFocus); } @Override @ExportedProperty(category = "focus") public boolean isFocused() { // TODO Auto-generated method stub return true; }}
但是这样会出现一个问题就是无论是否选中,这个TextView都是一直处于跑马灯状态,有时候会显得十分别扭,有需求是需要在选中的时候才让其跑马灯。
后面才突然发现问题其实很简单,在设置为选中状态的时候,跑马灯也是生效的,不同于焦点同一时刻只能有一个控件获取到焦点,选中状态是可以同时在多个控件上生效的:
子TextView 添加如下属性:
android:id = "@+id/tv_main_modules" android:ellipsize = "marquee" android:singleLine = "true" android:marqueeRepeatLimit = "marquee_forever" android:scrollHorizontally="true"
在程序中父控件的 onFocusChange() 焦点响应事件中添加 tv_main_modules.setSelected(hasFocus);使得子TextView控件选中,则跑马灯效果有效
阅读全文
1 0
- 跑马灯不生效的问题
- 不阻塞UI的跑马灯,解决跑马灯和动画冲突问题
- 输入法切换快捷键不生效的问题
- Android中setHeight不生效的问题
- 修改php.ini不生效的问题
- PHP参数修改不生效的问题
- crontab ntpdate不生效的问题
- alarmmanger set 不生效的问题
- ButterKnife 8.0.1不生效的问题
- @Transaction注解不生效的问题
- ButterKnife 8.0.1不生效的问题
- babel-plugin-import不生效的问题
- babel-plugin-import不生效的问题
- z-index的用法,不生效问题
- 如何解决.gitignore不生效的问题
- 记一次 @Transactional不生效的问题
- logback配置不生效的问题
- inotify不生效问题
- a 标签中调用js的几种方法
- 机器学习笔记(十六)强化学习
- 梯度下降法概述
- 关键字之标识符
- HAL
- 跑马灯不生效的问题
- Android jsoup 按比例显示图片
- ruby on rails 使用 rails ajax render partial html, 替换view render,提高效率
- sender分析之Selector
- SpringMVC绑定json数组,参考链接http://www.th7.cn/web/ajax/201603/158081.shtml
- python基础知识小总结
- CI框架表单验证
- Quartz使用总结
- Mybatis 向指定表中批量插入数据