1.自定义TextView,重写isFocused方法(判断是否获得焦点(被选中))。
PS:如果不重写,默认只有第一个TextView获得焦点,为了所有TextView都获得焦点,所以需要重写。
文件名——MarqueenText.java
public class MarqueenText extends TextView {
public MarqueenText(Context context) {
super(context);
}
public MarqueenText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MarqueenText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
//不重写的花默认第一个TextView拿到焦点,自定义的话是所有TextView都拿到
//判断是否被选中状态
@Override
public boolean isFocused() {
// return super.isFocused();
return true;
}
}
二、编写布局文件。
使用自定义TextView,并设置跑马灯属性
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
文件名——text_marqueen.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<com.example.administrator.teachdemo.MarqueenText
android:singleLine="true"
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true" />
<com.example.administrator.teachdemo.MarqueenText
android:singleLine="true"
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"<pre name="code" class="html"> android:focusable="true"
android:singleLine="true"
android:focusableInTouchMode="true"/>
</LinearLayout>
3.主Activity文件(用于跳转)
public class Text_marqueen_Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text_marqueen);
}
}