欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開發(fā)中TextView文本過長(zhǎng)滾動(dòng)顯示實(shí)現(xiàn)方法分析

 更新時(shí)間:2018年02月08日 11:59:42   作者:遲做總比不做強(qiáng)  
這篇文章主要介紹了Android開發(fā)中TextView文本過長(zhǎng)滾動(dòng)顯示實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Android項(xiàng)目開發(fā)中TextView顯示超長(zhǎng)文本的具體操作技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Android開發(fā)中TextView文本過長(zhǎng)滾動(dòng)顯示實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

項(xiàng)目中在使用TextView時(shí),總會(huì)有因要顯示的內(nèi)容過多而需要我們進(jìn)行處理的問題。我們第一時(shí)間想到的是TextView的android:ellipsize屬性,比如 android:ellipsize="end",效果是在文字的尾部打三個(gè)小點(diǎn)。

但是這個(gè)屬性要配合android:singLine="true"使用。通常來說,要實(shí)現(xiàn)尾端三個(gè)點(diǎn)的省略號(hào)形式是比較容易的。

如果要求文字全部顯示,但是為了保存UI界面美觀,有限大小的TextView中如何顯示全部的超長(zhǎng)文本呢,我們就想到了讓文本滾動(dòng)顯示。

大家也想到了通過  android:ellipsize="marquee"來實(shí)現(xiàn),不過我在項(xiàng)目中使用這個(gè)也沒有實(shí)現(xiàn)效果。

配合了android:singLine="true"也一樣不能實(shí)現(xiàn)文本滾動(dòng)顯示。網(wǎng)上有很多解決方案,幾乎都是說到焦點(diǎn)問題。

比如有人建議在布局文件中的TextView添加 android:focusable="true",不過有時(shí)也是沒有效果的。

我的處理方法是,復(fù)寫TextView,只要簡(jiǎn)單地改一個(gè)代碼即可:

public class MarqueTextView extends TextView {
  public MarqueTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
  }
  public MarqueTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
  }
  public MarqueTextView(Context context) {
    super(context);
  }
  @Override
  public boolean isFocused() {
  //就是把這里返回true即可
    return true;
  }
}

然后把復(fù)寫的TextView當(dāng)成控件寫在布局文件中,添加:

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

等屬性,當(dāng)然不要忘記寫width,height等必備屬性哦。

最后在使用該TextView的時(shí)候,還要添加一句:

MarqueTextView tv=(MarqueTextView)findViewById(R.id.my_text_view);
tv.setSelected(true);

滾動(dòng)效果就有了。

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論