方法一:(只能实现单个TextView的跑马灯效果)在TextView添加以下控件 android:singleLine="true"只能单行,超出的文字显示为"..." android:ellipsize="marquee"省略号没有,但没有跑马灯效果 android:focusable="true" android:focusableInTouchMode="true" 方法二:(可以实现多行TextView的跑马灯效果) 自定义一个类继承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
时间: 2024-10-22 20:00:36