Android實(shí)現(xiàn)跑馬燈效果的兩種簡單方式
第一種:較簡單,但是局限性強(qiáng),貌似只能從右至左跑,且有一個(gè)要求:字體的長度需大于控件的長度, 不然沒有效果,重要的代碼為深色部分,具體代碼在文章最后。

重要代碼的介紹
1. android:ellipsize=“marquee” 設(shè)置為跑馬燈的顯示方式
2. android:focusable=“true” 獲得焦點(diǎn)
3. android:focusableInTouchMode=“true” 可以通過觸動(dòng)來獲取焦點(diǎn)
4. android:marqueeRepeatLimit=“marquee_forever” 設(shè)置重復(fù)的次數(shù)
5. android:singleLine=“true” 單行顯示
第二種:利用定時(shí)器改變 padding 的值來起到跑馬燈的效果,各個(gè)方向都可以,無第一種的要求,主要起到作用的為 setPadding 方法,在最后記得要關(guān)閉定時(shí)器!
1. 布局文件

2. 實(shí)現(xiàn)功能的代碼

再次強(qiáng)調(diào)記得關(guān)掉定時(shí)器!
具體代碼如下:
第一種方法:
<TextView
android:text="班里發(fā)生什么了?不知道,先起哄再說。"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:layout_width="200dp"
android:layout_height="wrap_content" />
第二種方法:
布局文件:
<TextView
android:id="@+id/mytext"
android:gravity="center_vertical"
android:text="班里發(fā)生什么了?不知道,先起哄再說。"
android:layout_width="match_parent"
android:layout_height="40dp" />
Java 文件:
public class MainActivity extends Activity {
private TextView mytext;
private Handler handler;
private Runnable runnable;
private int theroll=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
marquee();//記得調(diào)用方法
}
private void initView() {
//實(shí)例化
mytext = (TextView) findViewById(R.id.mytext);
}
//滾動(dòng)的具體代碼
private void marquee(){
handler=new Handler();
runnable=new Runnable() {
@Override
public void run() {
if (theroll>80){
theroll=-80;
}
theroll=theroll+2;
//通過設(shè)置下面的四個(gè)參數(shù)可以起到控制滾動(dòng)方向的作用
mytext.setPadding(theroll,0,0,0);
handler.postDelayed(this,100);//可調(diào)整速度
}
};
handler.postDelayed(runnable,0);
}
@Override
protected void onDestroy() {
super.onDestroy();
//在最后記得要關(guān)掉定時(shí)器
handler.removeCallbacks(runnable);
}
}
總結(jié)
到此這篇關(guān)于Android實(shí)現(xiàn)跑馬燈的文章就介紹到這了,更多相關(guān)Android實(shí)現(xiàn)跑馬燈內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
點(diǎn)擊圖標(biāo)進(jìn)入指定瀏覽器將首頁設(shè)置全透明解決一閃而過問題
進(jìn)入瀏覽器之前有一個(gè)頁面閃了一下,那是因?yàn)閺哪莻€(gè)空白的首頁跳過去的。解決的辦法是把他變成透明的就好了2014-08-08
Android開發(fā)ThreadPoolExecutor與自定義線程池詳解
這篇文章主要為大家介紹了Android開發(fā)ThreadPoolExecutor與自定義線程池詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Android基于zxing的二維碼(網(wǎng)格)掃描 仿支付寶網(wǎng)格掃描
這篇文章主要為大家詳細(xì)介紹了Android基于zxing的二維碼網(wǎng)格掃描,仿支付寶網(wǎng)格掃描,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
android調(diào)用WebService實(shí)例分析
這篇文章主要介紹了android調(diào)用WebService的方法,以實(shí)例形式較為詳細(xì)的分析了WebService的調(diào)用原理與具體使用方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
android使用OkHttp實(shí)現(xiàn)下載的進(jìn)度監(jiān)聽和斷點(diǎn)續(xù)傳
本篇文章主要介紹了android使用OkHttp實(shí)現(xiàn)下載的進(jìn)度監(jiān)聽和斷點(diǎn)續(xù)傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02
android 監(jiān)聽SD卡文件變化的實(shí)現(xiàn)代碼
這篇文章主要介紹了android 監(jiān)聽SD卡文件變化的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-11-11

