关于在Android中文本实现跑马灯效果
方法一:(只能实现单个TextView的跑马灯效果)
android:singleLine=”true”只能单行,超出的文字显示为”…”
android:ellipsize=”marquee”省略号没有,但没有跑马灯效果
android:focusable=”true”
android:focusableInTouchMode=”true”
方法二:
自定义一个类继承TextView,实现默认的三种构造函数,重写isFocused()方法,返回true
在布局文件中将TextView改为(包名+类名)com.imooc.marqueetextviewdemo.MarqueeText
对于方法二的实现是为了在设置多行文本时都能实现跑马灯效果否则若只是实现方法一只能对一行文本进行跑马灯展示。
解析:
方法二中两个TextView都能够实现跑马灯效果是因为重写了isFocused()方法返回true,强制让TextView都focused;而方法一中,第一个TextView获得了焦点,而第二个TextView没有获得焦点,无法实现跑马灯效果
问题:
滚动一段时间后会自己停: android:marqueeRepeatLimit=”marquee_forever”
Tips:
px,dp(dip),sp
1.在开发中不建议使用px,px不能根据分辨率来进行等比缩放;
2.dp和sp都可以根据分辨率来进行等比缩放;
3.在控件中做长度大小限制时推荐使用dp,sp更多用于显示文字size;
4.在android最新的SDK中推荐使用dp
ImageView 中的src属性和background属性区别:
src:尺寸不随控件大小而改变,不填充;
background:尺寸始终和控件大小相同,还可以实现#f0f0f0,但是要设置高度滴!