国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android用過TextView實(shí)現(xiàn)跑馬燈效果的示例

2019-10-22 18:30:14
字體:
供稿:網(wǎng)友

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

跑馬燈效果其實(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代碼如下:

  <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)度超過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 

 <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)。感覺和第一種沒有區(qū)別。

目前在android7.1.1和android4.4上實(shí)驗(yàn)兩種方法都沒有問題。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 清新县| 东安县| 曲阳县| 昌宁县| 池州市| 平塘县| 淮北市| 罗甸县| 晋州市| 虹口区| 陇川县| 甘洛县| 都安| 通辽市| 汽车| 龙门县| 广安市| 垦利县| 大宁县| 江油市| 宿州市| 前郭尔| 德庆县| 布拖县| 三明市| 永定县| 陇川县| 三穗县| 吴桥县| 宁海县| 黄陵县| 深水埗区| 靖宇县| 周口市| 澄迈县| 汉源县| 甘孜县| 巍山| 全椒县| 嵩明县| 拜城县|