国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android開發(fā)中TextView文本過長滾動顯示實現(xiàn)方法分析

2019-12-12 01:10:34
字體:
供稿:網(wǎng)友

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

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

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

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

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

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

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

我的處理方法是,復(fù)寫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;  }}

然后把復(fù)寫的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);

滾動效果就有了。

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东平县| 临泉县| 陆河县| 民县| 炎陵县| 济源市| 庆元县| 梓潼县| 台中市| 鸡东县| 新安县| 岳池县| 习水县| 普陀区| 津南区| 寿阳县| 化隆| 牡丹江市| 霍邱县| 福泉市| 彭泽县| 拜城县| 景德镇市| 娄烦县| 保康县| 自贡市| 黑龙江省| 文安县| 莱西市| 临清市| 东阿县| 诏安县| 青岛市| 资溪县| 灌阳县| 剑河县| 定兴县| 类乌齐县| 简阳市| 禹城市| 宣武区|