1. 程式人生 > >android TextView跑馬燈 讓字型滾動起來

android TextView跑馬燈 讓字型滾動起來

一個介面中,只能有一個textView獲得焦點,暫時只能讓一個textView的文字滾動起來

第一步自定義控制元件

public class Marquee extends TextView {
    public Marquee(Context con) {
        super(con);
    }

    public Marquee(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public Marquee(Context context, AttributeSet attrs, int
defStyle) { super(context, attrs, defStyle); } @Override public boolean isFocused() { return true; } }

第二步 xml佈局中設定

 <com.zhongguo.paomadeng.Marquee
        android:id="@+id/item1_title_message"
        android:layout_below="@+id/AMTV1"
        android:layout_width="160dip"
android:layout_height="wrap_content" android:layout_marginTop="20dp" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:layout_marginLeft="20dip" android:gravity="center_vertical" android:layout_gravity="center_vertical"
android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" android:text="新華社北京7月27日電(記者李宣良、李清華)八一建軍節到來之際,中共中央總書記、國家主席、中央軍委主席習近平27日上午視察陸軍機關,代表黨中央和中央軍委,對陸軍第一次黨代表大會的召開表示熱烈的祝賀,向人民解放軍全體指戰員、武警部隊全體官兵、民兵預備役人員致以節日的問候。"/>

說明:

        android:singleLine="true"       //是否單行顯示文字
        android:ellipsize="marquee"     //文字超過控制元件長度,如何處理文字內容,此處為滾動動畫顯示
        android:focusable="true"        //是否獲得焦點
        android:focusableInTouchMode="true"    //是否在觸控模式下獲得焦點
        android:marqueeRepeatLimit="marquee_forever"//重複滾動的次數

原生控制元件 加上下面的屬性就可以

            android:focusable="true"
            android:singleLine="true"
            android:focusableInTouchMode="true"
            android:marqueeRepeatLimit="marquee_forever"
            android:ellipsize="marquee"