如果是文字的跑馬燈效果,只要在textview里加這個marqueeRepeatLimit屬性就可以了
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供淇縣網(wǎng)站建設(shè)、淇縣做網(wǎng)站、淇縣網(wǎng)站設(shè)計、淇縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、淇縣企業(yè)網(wǎng)站模板建站服務(wù),10余年淇縣做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
今天要實現(xiàn)的一個效果是在Android中實現(xiàn)一個跑馬燈的效果:
在新建一個Android product之后,在布局文件main中替換掉原來的TextView
代碼如下:
TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:text="這是跑馬燈的效果這是跑馬燈的效果"
/TextView
其他部分代碼不用改動,在模擬器上應(yīng)該可以看到滾動的顯示"這是跑馬燈的效果這是跑馬燈的效果"。
其中有幾個問題是我自己碰到的,列舉如下:
1.寬度android:layout_width不可以設(shè)置為wrap_content(自適應(yīng)內(nèi)容)
2.android:text最好是比較長的字符串,最少要長過自己設(shè)置的width大?。ㄎ疫@里是60dp)
3.顏色最好別設(shè)置為@android:color/white,否則你什么都看不到,因為背景顏色也是white
4.在xml中,TextView 的屬性
android:ellipsize = "end" 省略號在結(jié)尾
android:ellipsize = "start" 省略號在開頭
android:ellipsize = "middle" 省略號在中間
android:ellipsize = "marquee" 跑馬燈
5.android:scrollHorizontally="true"相信大家英文水平還不錯的話都明白這句的意思是水平滾動
6.android:marqueeRepeatLimit="marquee_forever" 看英文同樣可以明白,是無限次循環(huán),學(xué)習(xí)android,英文基礎(chǔ)還是必須的。
7.最后還有兩句代碼沒有解釋:
android:focusable="true" //讓TextView獲得焦點
android:focusableInTouchMode="true" //針對觸摸屏獲得當(dāng)前焦點
事實上這兩句代碼我也了解不是特別多,在網(wǎng)上查了下這兩個屬性,目前理解為:
android:focusable="true"相當(dāng)于當(dāng)前Activity打開的時候,讓當(dāng)前控件TextView獲得焦點,才可以實現(xiàn)滾動功能
android:focusableInTouchMode="true"和上述屬性應(yīng)該是類似的,但限制應(yīng)該是指的觸摸屏上的意思
對于這兩個屬性,希望有高人指點下。
1.打開Eclipse,創(chuàng)建一個android工程,填寫項目名稱為TextViewShow,勾選相應(yīng)的android平臺選項,填寫應(yīng)用名稱TextViewShow,填寫包名com.cn(這個隨意起),填寫啟動的activity:ViewShow
最后點擊完成按鈕
在向TextViewShow\res\layout\main.xml 中 添加TextView,進(jìn)行屬性定義,其中android:layout_width="90px" 這個很重要,這個是TextView的內(nèi)容寬度,也就是說如果展示的內(nèi)容長度大于90px,才能出現(xiàn)跑馬燈的效果,否則不會出現(xiàn)。當(dāng)然了,可以把 android:layout_width="fill_parent",那么提供的文字信息長度必須要長,大于外界的寬度;在這里,要求長度大于屏幕的寬度
同時:
android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:singleLine="true"
其中,id的命名注意,務(wù)必是 android:id="@+id/textview" 這個形式,有個+號
對于其中的
android:text="@string/hello" hello的定義在res\values\strings.xml
在主體的activity ViewShow中添加主要方法,完成相應(yīng)的鼠標(biāo)事件注冊,TextView的初始化。
TextView textview = (TextView)this.findViewById(R.id.textview);
textview.setTextColor(Color.RED); //設(shè)置文本顏色
//設(shè)置字體的大小 textview.setTextSize(20);
//設(shè)置文字背景textview.setBackgroundColor(Color.BLUE);/** 設(shè)置textview文字的顯示 **/
String content="TextView 歡迎使用 ";
textview.setText(content);
同時處理鼠標(biāo)點擊的事件
textview.setOnClickListener(new OnClickListener() {
@Override public void onClick(View arg0) { // TODO Auto-generated method stub TextView textviewTemp = (TextView) arg0; textviewTemp.setText("被點擊了"); textviewTemp.setBackgroundColor(Color.GREEN); } });
4
保存代碼,鼠標(biāo)右鍵選中項目,開始運(yùn)行android項目,可以看到效果
今天要實現(xiàn)的一個效果是在Android中實現(xiàn)一個跑馬燈的效果:在新建一個Androidproduct之后,在布局文件main中替換掉原來的TextView代碼如下:其他部分代碼不用改動,在模擬器上應(yīng)該可以看到滾動的顯示"這是跑馬燈的效果這是跑馬燈的效果"。其中有幾個問題是我自己碰到的,列舉如下:1.寬度android:layout_width不可以設(shè)置為wrap_content(自適應(yīng)內(nèi)容)2.android:text最好是比較長的字符串,最少要長過自己設(shè)置的width大?。ㄎ疫@里是60dp)3.顏色最好別設(shè)置為@android:color/white,否則你什么都看不到,因為背景顏色也是white4.在xml中,TextView的屬性android:ellipsize="end"省略號在結(jié)尾android:ellipsize="start"省略號在開頭android:ellipsize="middle"省略號在中間android:ellipsize="marquee"跑馬燈5.android:scrollHorizontally="true"相信大家英文水平還不錯的話都明白這句的意思是水平滾動6.android:marqueeRepeatLimit="marquee_forever"看英文同樣可以明白,是無限次循環(huán),學(xué)習(xí)android,英文基礎(chǔ)還是必須的。7.最后還有兩句代碼沒有解釋:android:focusable="true"http://讓TextView獲得焦點android:focusableInTouchMode="true"http://針對觸摸屏獲得當(dāng)前焦點事實上這兩句代碼我也了解不是特別多,在網(wǎng)上查了下這兩個屬性,目前理解為:android:focusable="true"相當(dāng)于當(dāng)前Activity打開的時候,讓當(dāng)前控件TextView獲得焦點,才可以實現(xiàn)滾動功能android:focusableInTouchMode="true"和上述屬性應(yīng)該是類似的,但限制應(yīng)該是指的觸摸屏上的意思對于這兩個屬性,希望有高人指點下。