標籤:
一、第一種方式:
通過TextView控制項的自身屬性實現(但是有缺點就是當多個TextView要實現這種效果的時候,只有第一個才有效果)
實現方法加上下面四個屬性:
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="16dp" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:text="@string/textView" /> <TextView android:layout_below="@+id/textView1" android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="16dp" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:text="@string/textView" /> </LinearLayout>
二、第二種方式:
通過java代碼實現(自訂一個TextView的類)
加上下面四個屬性:
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.muke.textview_edittext.text android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="16dp" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:text="@string/textView" /> <com.muke.textview_edittext.text android:layout_below="@+id/textView1" android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="16dp" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:text="@string/textView" /> </LinearLayout>
package com.muke.textview_edittext;import android.content.Context;import android.util.AttributeSet;import android.widget.TextView;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 defStyle) { super(context, attrs, defStyle); } public text(Context context, AttributeSet attrs, int defStyleAttr,int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } //關鍵在於這個方法 public boolean isFocused(){ return true; }}
package com.muke.textview_edittext;import android.os.Bundle;import android.app.Activity;public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}
Android使用TextView實現跑馬燈效果