91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android開發中TextView文本過長滾動顯示實現方法分析

發布時間:2020-10-03 11:48:01 來源:腳本之家 閱讀:594 作者:遲做總比不做強 欄目:移動開發

本文實例講述了Android開發中TextView文本過長滾動顯示實現方法。分享給大家供大家參考,具體如下:

項目中在使用TextView時,總會有因要顯示的內容過多而需要我們進行處理的問題。我們第一時間想到的是TextView的android:ellipsize屬性,比如 android:ellipsize="end",效果是在文字的尾部打三個小點。

但是這個屬性要配合android:singLine="true"使用。通常來說,要實現尾端三個點的省略號形式是比較容易的。

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

大家也想到了通過  android:ellipsize="marquee"來實現,不過我在項目中使用這個也沒有實現效果。

配合了android:singLine="true"也一樣不能實現文本滾動顯示。網上有很多解決方案,幾乎都是說到焦點問題。

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

我的處理方法是,復寫TextView,只要簡單地改一個代碼即可:

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;
  }
}

然后把復寫的TextView當成控件寫在布局文件中,添加:

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

等屬性,當然不要忘記寫width,height等必備屬性哦。

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

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

滾動效果就有了。

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

希望本文所述對大家Android程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北京市| 乌鲁木齐市| 兴安盟| 乐都县| 新绛县| 云林县| 怀化市| 秦皇岛市| 玉山县| 儋州市| 澳门| 泗水县| 读书| 景德镇市| 尼木县| 湖口县| 竹山县| 大冶市| 黄龙县| 门头沟区| 南阳市| 合江县| 永仁县| 若羌县| 闻喜县| 鄂温| 息烽县| 康定县| 万州区| 舞阳县| 苏州市| 沙湾县| 洪江市| 额济纳旗| 台中县| 丰都县| 鄂尔多斯市| 松桃| 泰兴市| 南投市| 抚顺市|