Android(安卓)TextView 实现跑马灯效果
16lz
2022-03-29
自定义一个TextView控件
public class MarqueeTextView extends AppCompatTextView { public MarqueeTextView(Context context) { super(context); } public MarqueeTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public boolean isFocused() { return true; // 关键之处 }}
xml文件设置四个关键属性
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.example.MarqueeTextView android:layout_marginTop="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是长文本,我是长文本,我是长文本,我是长文本。" android:textSize="20sp" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true"/> <com.example.MarqueeTextView android:layout_marginTop="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是长文本,我是长文本,我是长文本,我是长文本。" android:textSize="20sp" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true"/>LinearLayout>
注意
如果只在xml文件中设置了singleLine、ellipsize、focusable、focusableInTouchMode,只有一个控件时可以实现跑马灯效果,当我们的布局比较复杂涉及多个文本控件时,跑马灯效果就会出现问题,只有一个控件能正显示,其他控件无法正常显示。
更多相关文章
- Android轮播图控件CustomBanner的使用讲解
- Android界面编程——Android高级UI组件(三)
- Android仿腾讯视频实现悬浮窗效果
- Android(安卓)事件分发
- Android直播系统平台搭建之图片实现阴影效果的方法小结
- Android实现雅虎新闻摘要加载视差动画效果
- TextInput 需要注意的点
- android动态生成控件
- android 图片水平显示,类Gallery效果