Android TextView 中當文字比較多時希望它橫向滾動顯示,以下是一種親測可行的方法。
效果圖:
1.自己定義TextView,重寫isFocused()方法返回true,讓自己定義TextView一直處於獲取焦點狀態。
package com.example.shen.marqueedemo; import android.content.Context; import android.util.AttributeSet; import android.widget.TextView; /** * Created by shen on 2015/8/19. */ public class MarqueeTextView extends TextView { public MarqueeTextView(Context context) { super(context); } public MarqueeTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public boolean isFocused(){ return true; } }2.布局文件
android:sigleLine="true" //單行
android:ellipsize="marquee" //以跑馬燈的方式顯示(動畫橫向移動)
android:marqueeRepeatLimit="marquee_forever" //一直滾動
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.shen.marqueedemo.MarqueeTextView android:layout_width="200dp" android:layout_height="wrap_content" android:text="hello_world! hello_world! hello_world! " android:layout_centerInParent="true" android:ellipsize="marquee" android:singleLine="true" android:marqueeRepeatLimit="marquee_forever"/> </RelativeLayout>