•效果展示圖
•參考資料
•出現的問題
新建 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" />