新聞中心
以前就遇到過這個(gè)問題,今天重新拾起來。

創(chuàng)新互聯(lián)2013年至今,先為昆山等服務(wù)建站,昆山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為昆山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
跑馬燈效果其實(shí)就是當(dāng)文字超過TextView控件寬度的時(shí)候,使用滾動(dòng)的方式顯示出來:
方法1:(直接xml搞定)
Android系統(tǒng)中TextView實(shí)現(xiàn)跑馬燈效果,必須具備以下幾個(gè)條件:
1、android:ellipsize=”marquee”;
2、TextView必須單行顯示,且內(nèi)容必須超出TextView寬度;
3、TextView要獲得焦點(diǎn)才能滾動(dòng)。
xml代碼如下:
其中:ellipsize屬性指的是文字長(zhǎng)度超過TextView的長(zhǎng)度的時(shí)候的顯示方式,具體參數(shù)有
**Android:ellipsize=”start”—–省略號(hào)顯示在開頭 “…pedia”
android:ellipsize=”end”——省略號(hào)顯示在結(jié)尾 “encyc…”
android:ellipsize=”middle”—-省略號(hào)顯示在中間 “en…dia”
android:ellipsize=”marquee”–以橫向滾動(dòng)方式顯示(需獲得當(dāng)前焦點(diǎn)時(shí))**
方法2(自定義控件)
我看了自己以前的實(shí)現(xiàn)方式是這樣,也許在低版本的平臺(tái)上第一種方式適配不好吧。如果達(dá)不到要求可以試試這種方式。
TextVeiwSlide.Java
package edu.hrbeu.ice.mobilecar.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
/**
* @author 編寫人: xiaox
* @date 創(chuàng)建時(shí)間: 2017/1/10
* @Description 功能描述: 該類
*/
public class TextViewSlide extends TextView {
public TextViewSlide(Context context) {
super(context);
}
public TextViewSlide(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean isFocused() {
return true;
}
}
activity_main.xml
可以看到第二種方式也就是在自定義控件中獲取了該控件的焦點(diǎn)。感覺和第一種沒有區(qū)別。
目前在android7.1.1和android4.4上實(shí)驗(yàn)兩種方法都沒有問題。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
網(wǎng)站題目:Android用過TextView實(shí)現(xiàn)跑馬燈效果的示例
網(wǎng)頁路徑:http://www.dlmjj.cn/article/isphhi.html


咨詢
建站咨詢
