布局
<com.daban.MyTextView
android:id="@+id/ss"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ad"
android:textSize="24sp"
android:ellipsize="marquee"
android:singleLine="true"
android:marqueeRepeatLimit="marquee_forever"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
</com.daban.MyTextView>
android:ellipsize="marquee"设置TextView的省略方式
- none 不省略
- start 从开头省略
- middle从中间省略
- end从结尾省略
- marquee跑马灯效果
android:singleLine="true"一定要单行显示
自定义组件TextView
package com.daban;
import android.content.Context;
import android.util.AttributeSet;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatTextView;
public class MyTextView extends AppCompatTextView {
public MyTextView(@NonNull Context context) {
super(context);
}
public MyTextView(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public MyTextView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
//重写该方法,并且返回true
@Override
public boolean isFocused() {
return true;
}
}
文章展示了如何在Android中创建一个自定义的MyTextView组件,该组件实现了跑马灯效果。通过设置android:ellipsize为marquee和android:singleLine为true,并重写isFocused方法来确保焦点,实现了文本的滚动显示。


被折叠的 条评论
为什么被折叠?



