一般在网站上或者app上见到的文字循环滚动,学习自慕课网。
单个循环
<TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:text="我是一个textview,我是一个textview,我是一个textview,我是一个textview,我是一个textview,我是一个textview" /> <!--ellipsize="marquee"为不完全展示,去掉省略号... android:focusable="true" android:focusableInTouchMode="true" 三个整体为循环跑马灯效果-->
如果是多个的话,首先在scr包中新创建一个class
就叫做:WaterText
package com.frist.waterline; import android.content.Context; import android.util.AttributeSet; import android.widget.TextView; public class WaterText extends TextView{ public WaterText(Context context) { super(context); // TODO Auto-generated constructor stub } public WaterText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } public WaterText(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } //生成三个构造方法 @Override public boolean isFocused(){ return true; } //重载方法,使两个都有焦点 }
然后改变activity_main
<!-- 将下方开始的标签改为自己重写的类 --> <com.frist.waterline.WaterText android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" android:text="我是一个textview,我是一个textview,我是一个textview,我是一个textview,我是一个textview,我是一个textview" /> <!--ellipsize="marquee"为不完全展示,去掉省略号... android:focusable="true" android:focusableInTouchMode="true" 三个整体为循环跑马灯效果--> <com.frist.waterline.WaterText android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" android:text="我是一个textview,我是一个textview,我是一个textview,我是一个textview,我是一个textview,我是一个textview" /> <!-- 设置第二个要循环的 另:android:marqueeRepeatLimit="marquee_forever"此句为持续循环-->