1.讓不少文字一行顯示,默認是false,設置爲true;android
android:singleLine="true"
2.對文字進行裁剪,默認是end裁剪;ide
android:ellipsize="end"
3.設置文字裁剪爲start,設置一行顯示:學習
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="專注 只專一Android,鍥而不捨 天天堅持努力學習Android,全身心投入把Android學精,把學習Android演變成興趣愛好" android:singleLine="true" android:ellipsize="start" />
4.如何讓文字滾動起來,按理來講設置 ellipsize="marquee" 就能夠滾動起來了,可是系統默認認爲沒法獲取TextVIew焦點,因此還須要設置能獲得焦點ui
android:singleLine="true"
android:ellipsize="marquee"
TextView tvText = findViewById(R.id.tv_text); tvText.setSelected(true);
5.已經能夠滾動起來了,因爲系統內部是採用定時器去啓動的,有可能會中止,爲了解決不穩定性,還能夠設置一個屬性就穩定了 spa
android:marqueeRepeatLimit="marquee_forever"
另一種方式告訴系統TextView是有焦點的:code
<liudeli.ui.all.MyTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="專注 只專一Android,鍥而不捨 天天堅持努力學習Android,全身心投入把Android學精,把學習Android演變成興趣愛好" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" />
public class MyTextView extends TextView { public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); } /** * 從新此方法,是爲了告訴系統,TextView能夠獲取到焦點啦 * @return */ @Override public boolean isFocused() { return true; } }