下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中利用TextView實現(xiàn)一個跑馬燈效果
這期內(nèi)容當(dāng)中在下將會給大家?guī)碛嘘P(guān)怎么在Android中利用TextView實現(xiàn)一個跑馬燈效果,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。TextView的跑馬燈效果也就是指當(dāng)你只想讓TextView單行顯示,可是文本內(nèi)容卻又超過一行時,自動從左往右慢慢滑動顯示的效果就叫跑馬燈效果。其實,TextView實現(xiàn)跑馬燈效果很簡單,因為官方已經(jīng)實現(xiàn)了,你只需要通過設(shè)置幾個屬性即可。而且,相關(guān)的資料其實網(wǎng)上也有一大堆了,之所以還寫這篇博客出來是因為,網(wǎng)上好多人的博客都是只貼代碼的啊,好一點的就是附帶幾張圖片,可是這是動畫效果啊,不動起來,誰知道跑馬燈效果到底長什么樣,到底是不是自己想要的效果?。ú粫挥蓄}主不知道跑馬燈是什么效果吧,我不信!?。。?。所以,輕度強迫癥的題主實在忍不住了,自己寫一篇記錄一下。另外,最近在學(xué)習(xí)豎直方向循環(huán)滾動顯示的TextView,等理解掌握透了后也會記錄下來。好了,話不多說,看代碼。實現(xiàn)android:ellipsize="marquee"http://設(shè)置超出顯示區(qū)域的內(nèi)容以跑馬燈效果呈現(xiàn),該值還可以設(shè)置成END,START等,就是我們常見的在末尾"..."顯示。android:singleLine="true"http://跑馬燈啟動的條件之一,另外官方推薦說該方法已廢棄推薦使用maxLines="1",不用去鳥他,用maxLines的話跑馬燈效果也不會啟動。android:focusable="true"http://跑馬燈啟動的條件之一android:marqueeRepeatLimit="-1"http://設(shè)置循環(huán)幾次,-1表示無限循環(huán)跑馬燈不能啟動的問題如果對TextView的跑馬燈不熟悉的話,第一次使用應(yīng)該會碰到各種跑馬燈效果不工作的狀態(tài)。其實這是因為跑馬燈的啟動有多個條件,也就是上面的屬性除了最后一條設(shè)置循環(huán)次數(shù)的除外,其他的均必須進行設(shè)置。TextView得是單行顯示,還必須可以獲取焦點,這樣當(dāng)TextView獲取焦點后跑馬燈效果才會啟動,如最上面動圖里的第二個TextView??聪耇extView關(guān)于跑馬燈啟動的相關(guān)源碼你就會更清楚擴展其實,跑馬燈更常見于TV應(yīng)用上,因為只有在TV應(yīng)用上才需要區(qū)分獲取焦點時的狀態(tài)以及點擊的狀態(tài),畢竟TV應(yīng)用都不支持觸屏模式,都是有遙控操作,焦點狀態(tài)的提示就顯得很重要。而對于觸屏手機來說,當(dāng)觸摸時,也就同時獲取點擊狀態(tài)和焦點狀態(tài)了,所以在觸屏手機上,跑馬燈更常見的應(yīng)用場景則是,不管TextView有沒有獲取焦點,都讓跑馬燈效果一直處于啟動狀態(tài),正如最上面動圖里的第一個TextView。如果要實現(xiàn)這個效果,只需要繼承TextView,重寫幾個方法就好了。代碼如下:/**
*
跑馬燈效果的TextView,
使用方式:
*
啟動/關(guān)閉:{@link
#setMarqueeEnable(boolean)}
*
xml文件中記得設(shè)置:android:focusable="true",
android:singleLine="true"
*
*
Created
by
dasu
on
2017/3/21.
*
/u/bb52a2918096
*/
public
class
MarqueeTextView
extends
TextView
{
private
boolean
isMarqueeEnable
=
false;
public
MarqueeTextView(Context
context)
{
super(context);
}
public
MarqueeTextView(Context
context,
@Nullable
AttributeSet
attrs)
{
super(context,
attrs);
}
public
MarqueeTextView(Context
context,
@Nullable
AttributeSet
attrs,
int
defStyleAttr)
{
super(context,
attrs,
defStyleAttr);
}
public
void
setMarqueeEnable(boolean
enable)
{
if
(isMarqueeEnable
!=
enable)
{
isMarqueeEnable
=
enable;
if
(enable)
{
setEllipsize(TextUtils.TruncateAt.MARQUEE);
}
else
{
setEllipsize(TextUtils.TruncateAt.END);
}
onWindowFocusChanged(enable);
}
}
public
boolean
isMarqueeEnable()
{
return
isMarqueeEnable;
}
@Override
public
boolean
isFocused()
{
return
isMarqueeEnable;
}
@Override
protected
void
onFocusChanged(boolean
focused,
int
direction,
Rect
previouslyFocusedRect)
{
super.onFocusChanged(isMarqueeEnable,
direction,
previouslyFocusedRect);
}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作述職報告3篇
- 二零二五年度綠色環(huán)保廣告字制作與安裝服務(wù)合同3篇
- 2025年度跨行業(yè)員工借調(diào)與資源共享合作協(xié)議3篇
- 2025年度年度勞動爭議調(diào)解律師委托協(xié)議終止書3篇
- 2025年度無人機農(nóng)業(yè)病蟲害防治與智慧農(nóng)業(yè)平臺合同3篇
- 2025年度農(nóng)莊租賃與農(nóng)業(yè)資源整合合同3篇
- 二零二五年度獸醫(yī)疾病防控中心獸醫(yī)聘用協(xié)議3篇
- 二零二五年度月嫂服務(wù)滿意度評價及改進合同2篇
- 二零二五年度化學(xué)論文版權(quán)轉(zhuǎn)讓及國際學(xué)術(shù)交流合同3篇
- 2025年度教育資源共享合作協(xié)議書模板集3篇
- 品質(zhì)異常處理單
- 2019年國考行測真題完整版答案解析圖文(地市級)word版
- 市政基礎(chǔ)設(shè)施工程給水排水管道工程實體質(zhì)量檢查記錄
- 《中華人民共和國職業(yè)分類大典》電子版
- 施工現(xiàn)場鐵皮圍擋承包合同
- 管理學(xué)案例分析(超全有答案)(已處理)
- ICU病人早期康復(fù)-ppt課件
- 藥品開發(fā)與上量-宿家榮
- 北京海淀區(qū)初一上數(shù)學(xué)期末試題(帶標(biāo)準(zhǔn)答案)_
- 化工原理課程設(shè)計空氣中丙酮的回收工藝操作
- 廠房施工總結(jié)報告
評論
0/150
提交評論