Androidd Studio 之多行文字跑馬燈特效


 

•效果展示圖

  

•參考資料

  兩種方法實現TextView跑馬燈效果(字體橫向滾動)

•出現的問題

  新建 Java 文件繼承 TextView 時出現問題:

    

•解決方法

  不應該繼承 $TextView$ 而應該繼承 $AppCompatTextView$;

  此時,可能還會報錯:

    

 

   不要慌,問題不大,在類里加入如下代碼即可解決問題:

public MyTextView(Context context) {
    super(context);
}

•多行文字跑馬燈

  • 新建一個java文件,並命名為 $MyTextView$,繼承 $AppCompatTextView$,重寫 $TextView$ 的三個方法
  • 在布局中把要使用跑馬燈效果的 $Textview$ 換成 $MyTextView$ 即可

  MyTextView.java 代碼:

public class MyTextView extends AppCompatTextView {


    public MyTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean isFocused() {
        return true;
    }
}

  activity.xml 中的 <TextView> 組件代碼:

<com.example.table.MyTextView
    android:ellipsize="marquee"
    android:id="@+id/tv_1"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="我是多行文字跑馬燈001"
    android:textColor="#F82414"
    android:textSize="50sp" />

<com.example.table.MyTextView
    android:ellipsize="marquee"
    android:id="@+id/tv_2"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="我是多行文字跑馬燈002"
    android:textColor="#0288D1"
    android:textSize="50sp" />

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM