1.當只有1個textview須要滾動顯示效果的時候,咱們只須要實現如下屬性android
<!--singleLine -- 單行 高版本api使用maxLines=1代替 --> <!--ellipsize -- 去掉多餘省略號--> <!--focusable -- 獲取焦點--> <!--focusableInTouchMode -- 非觸摸設備獲取焦點--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是一個長Text,我是一個長Text,我是一個長Text,我是一個長Text,我是一個長Text,我是一個長Text,我是一個長Text" android:textSize="24sp" android:singleLine="true" android:maxLines="1" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:id="@+id/textView1" />
2.當多個textview須要,咱們就要新起一個擴展textview的類,同時改變其屬性方法,使其獲取標準api
<com.example.ling.myapplication.MarqueeText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是一個長Text,我是一個長Text,我是一個長Text,我是一個長Text,我是一個長Text,我是一個長Text,我是一個長Text" android:textSize="24sp" android:singleLine="true" android:maxLines="1" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:id="@+id/textView2" android:layout_below="@+id/textView1" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> public class MarqueeText extends TextView { public MarqueeText(Context context) { super(context); } public MarqueeText(Context context, AttributeSet attrs) { super(context, attrs); } public MarqueeText(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } //判斷該textview是否得到焦點 @Override public boolean isFocused() { return true; } }