Android中长TextView实现跑马灯效果
来源:互联网 发布:白金数据 豆瓣 书 编辑:程序博客网 时间:2024/04/28 02:34
在Android开发中有时候我们会在一个TextView中输入较长的字符串,当输入较长字符串时手机屏幕可能会无法完全显示文本的内容。例如:
<TextView android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="长的TextView,长的TextView,长的TextView,长的TextView" />
这样一个TextView的内容一行显示不全,系统默认情况下会自动换行,为了不让文本自动换行我们需要加一条属性:
android:singleLine="true"
这样我们的文本就会只在一行中显示了,但是执行完效果后会发现不完全显示的文本会显示省略号,可以通过添加
android:ellipsize="marquee"
属性设置,此时可以解决省略号的问题,但是并不能实现跑马灯的效果,如果想要实现跑马灯的效果还需要加上两条属性
android:focusable="true"android:focusableInTouchMode="true"
这样就可以实现跑马灯效果了。但是,你以为这样就完了,错了,此时让我们把布局设置的稍微复杂一点,在文本框下再添加一个文本框同样按上边的文本框进行设置,运行后你会发现:理想很丰满,现实很骨感。 第二个文本框并不会显示跑马灯效果,很多小伙伴感到很诧异,这是为啥 呢?很简单第一个文本框设置的属性android:focusable="true"
此时的焦点已经放到了第一个文本框上,返回为true,所以第二个文本框设置的焦点属性就不管用了,此时我们要想别的办法让两个文本框都能获得焦点,我告诉大家一个方法,自己重写一个TextView组件,代码如下:
public class MyTextView extends TextView { public MyTextView(Context context) { super(context); // TODO Auto-generated constructor stub } public MyTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override public boolean isFocused() { // TODO Auto-generated method stub return true; }}
然后将TextView组件换成自己重写的MyTextView即可完美解决了。
ok 拜拜 有兴趣的小伙伴自己试试吧!
0 0
- Android中长TextView实现跑马灯效果
- TextView 中长文本滚动显示(跑马灯效果)
- Android TextView跑马灯效果实现
- android textview跑马灯效果实现
- Android TextView实现跑马灯效果
- android TextView实现跑马灯效果
- android TextView实现跑马灯效果
- Android开发 TextView实现跑马灯效果
- android用TextView实现跑马灯效果
- Android TextView实现跑马灯效果
- Android TextView 跑马灯效果的实现
- android TextView实现跑马灯效果
- Android TextView实现跑马灯效果
- Android--TextView实现跑马灯效果
- Android开发:TextView实现跑马灯效果
- Android---14---TextView实现跑马灯效果
- Android TextView实现跑马灯效果。
- android textview 实现跑马灯效果
- Android ORM数据库框架之-greenDao(二)
- Java工具类之Apache的Commons Lang和BeanUtils
- Css3文本新属性
- hadoop2.7.1对应的hadoop.dll,winutils.exe等。亲测,可用!
- 不停止MySQL服务增加从库的两种方式
- Android中长TextView实现跑马灯效果
- 找完数
- 交换两个数组元素的地址可以交换它们的值吗?
- C++primer学习:面象对象程序设计(4):继承类中的作用域和拷贝控制
- Android TextView文字过多时通过滚动条显示多余内容
- The Definitive C++ Book Guide and List
- Java线程之后台线程(守护线程)
- Python算法:动态规划
- Hibernate从入门到精通(3)- 集合的使用(List、Set、Map)