Android TextView跑马灯效果
Posted 码上夏雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android TextView跑马灯效果相关的知识,希望对你有一定的参考价值。
TextView跑马灯效果实现方式一:
TextView实现跑马灯的效果,不用自定义View
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="测试啊啊啊啊啊啊啊啊ggggggggggggggggggggggggggggg" />
TextView跑马灯效果实现方式二:
当TextView内容过多时默认会采用截取的方式以 … 来截取。如何能够实现内容过多时的跑马灯效果。
自定义视图步骤:
- 自定义一个类继承TextView,重写它的isFocused()方法
- 在布局的文件中使用自定义的TextView
示例代码:
- 继承TextView
class FocusedTextView : androidx.appcompat.widget.AppCompatTextView {
constructor(context: Context, attrs: AttributeSet?, defStyle: Int) : super(
context,
attrs,
defStyle
)
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context) : super(context)
//重写isFocused方法,让其一直返回true
override fun isFocused(): Boolean {
return true
}
}
- 在清单文件中使用该类
//注意这里要使用包名.类名
<com.charon.test.ui.FocusedTextView
android:ellipsize="marquee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="我是你的嘎嘎嘎哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈" />
以上是关于Android TextView跑马灯效果的主要内容,如果未能解决你的问题,请参考以下文章