这里是实现TextView的跑马灯效果分为两个
单个TextView实现多个TextView实现这样单个的跑马灯效果就出现了
另外如果在EditText的父级控件中找一个,设置成 android:focusable="true" android:focusableInTouchMode="true"就可以让EditText不自动获取焦点
首先我们要自定义一TextView的子类,我取名叫Text,然后实现三个构造函数,最后要重载一个isFocused()的方法,这样做的目的是可以让多个TextView同时获得焦点(默认情况,有两个TextView时,一个获得焦点后另一个就无法获得焦点了),代码如下:
import android.content.Context; import android.util.AttributeSet; import android.widget.TextView; /** * Created by ztt on 2017/2/21. */ public class Text extends TextView { public Text(Context context) { super(context); } public Text(Context context, AttributeSet attrs) { super(context, attrs); } public Text(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public boolean isFocused() { return true; } }做好以上的准备,还需要在xml文件做一件事,那就将TextView用我们自定义的控件,方法是包名+类名,代码如下:
<com.example.ztt.newbloglx.Text android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView1" android:text="@string/text_view" android:textSize="20sp" android:singleLine="true" android:focusable="true" android:focusableInTouchMode="true" android:ellipsize="marquee" /> <com.example.ztt.newbloglx.Text android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView2" android:text="@string/text_view" android:textSize="20sp" android:singleLine="true" android:focusable="true" android:focusableInTouchMode="true" android:ellipsize="marquee" />这样TextView的简单跑马灯就解决了
