Android用過(guò)TextView實(shí)現(xiàn)跑馬燈效果的示例
以前就遇到過(guò)這個(gè)問(wèn)題,今天重新拾起來(lái)。
跑馬燈效果其實(shí)就是當(dāng)文字超過(guò)TextView控件寬度的時(shí)候,使用滾動(dòng)的方式顯示出來(lái):
方法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代碼如下:
<TextView android:id="@+id/alarm_location" android:layout_width="20dp" android:padding="@dimen/space_4" android:layout_height="wrap_content" app:layout_rowWeight="2" app:layout_columnWeight="2" android:text="0" android:ellipsize="marquee" android:focusableInTouchMode="true" android:singleLine="true" android:focusable="true"/>
其中:ellipsize屬性指的是文字長(zhǎng)度超過(guò)TextView的長(zhǎng)度的時(shí)候的顯示方式,具體參數(shù)有
**Android:ellipsize=”start”—–省略號(hào)顯示在開(kāi)頭 “…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 編寫(xiě)人: xiaox * @date 創(chuàng)建時(shí)間: 2017/1/10 * @Description 功能描述: 該類(lèi) */ 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
<edu.hrbeu.ice.mobilecar.widget.TextViewSlide android:id="@+id/alarm_type" android:layout_width="@dimen/item_width" android:layout_height="wrap_content" android:gravity="center_horizontal" android:layout_gravity="center_vertical" android:layout_weight="1" android:padding="8dp" android:marqueeRepeatLimit="marquee_forever" android:ellipsize="marquee" android:scrollHorizontally="true" android:focusableInTouchMode="true" android:singleLine="true" tool:text="asda" />
可以看到第二種方式也就是在自定義控件中獲取了該控件的焦點(diǎn)。感覺(jué)和第一種沒(méi)有區(qū)別。
目前在android7.1.1和android4.4上實(shí)驗(yàn)兩種方法都沒(méi)有問(wèn)題。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android?Studio實(shí)現(xiàn)帶三角函數(shù)對(duì)數(shù)運(yùn)算功能的高級(jí)計(jì)算器
這篇文章主要為大家詳細(xì)介紹了Android?Studio實(shí)現(xiàn)帶三角函數(shù)對(duì)數(shù)運(yùn)算功能的高級(jí)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Android WebView實(shí)現(xiàn)文件下載功能
這篇文章主要為大家詳細(xì)介紹了Android WebView實(shí)現(xiàn)文件下載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Flutter 實(shí)現(xiàn)虎牙/斗魚(yú) 彈幕功能
這篇文章主要介紹了Flutter 實(shí)現(xiàn)虎牙/斗魚(yú) 彈幕功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Android中asset文件夾與raw文件夾的區(qū)別深入解析
本篇文章是對(duì)Android中的asset文件夾與raw文件夾區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Android 獲取未安裝的APK圖標(biāo)、版本號(hào)、包名等信息方法
下面小編就為大家分享一篇Android 獲取未安裝的APK圖標(biāo)、版本號(hào)、包名等信息方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2018-01-01Android動(dòng)態(tài)加載布局實(shí)現(xiàn)技巧介紹
通過(guò)使用LayoutInflater 每次點(diǎn)擊按鈕時(shí)候去讀取布局文件,然后找到布局文件里面的各個(gè)VIEW 操作完VIEW 后加載進(jìn)我們setContentView 方面里面的要放的布局文件里面,每次動(dòng)態(tài)加載文件必需調(diào)用 removeAllViews方法,清除之前的加載進(jìn)來(lái)的View2022-12-12Android自定義ViewGroup實(shí)現(xiàn)淘寶商品詳情頁(yè)
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup實(shí)現(xiàn)淘寶商品詳情頁(yè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10Android sd卡讀取數(shù)據(jù)庫(kù)實(shí)例代碼
這篇文章主要介紹了Android sd卡讀取數(shù)據(jù)庫(kù)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Android ActionBar完全解析使用官方推薦的最佳導(dǎo)航欄(下)
這篇文章主要介紹了Android ActionBar完全解析使用官方推薦的最佳導(dǎo)航欄(下) ,需要的朋友可以參考下2017-04-04Android 繪制多級(jí)樹(shù)形選擇列表實(shí)例代碼
這篇文章主要介紹了Android 繪制多級(jí)樹(shù)形選擇列表的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02