1. 程式人生 > >TextView實現滾動顯示的效果

TextView實現滾動顯示的效果

一.TextView基礎

TextView實現文字滾動需要以下幾個要點:

1.文字長度長於可顯示範圍:android:singleLine="true"
2.設定可滾到,或顯示樣式:android:ellipsize="marquee"
3.TextView只有在獲取焦點後才會滾動顯示隱藏文字,因此需要在包中新建一個類,繼承TextView。重寫isFocused方法,這個方法預設行為是,如果TextView獲得焦點,方法返回true,失去焦點則返回false。跑馬燈效果估計也是用這個方法判斷是否獲得焦點,所以把它的返回值始終設定為true。

TextView屬性介紹:
ellipsize屬性
設定當文字過長時,該控制元件該如何顯示。有如下值設定:”start”—–省略號顯示在開頭;”end”——省略號顯示在結尾;”middle”—-省略號顯示在中間;”marquee” ——以跑馬燈的方式顯示(動畫橫向移動)
marqueeRepeatLimit屬性
在ellipsize指定marquee的情況下,設定重複滾動的次數,當設定為marquee_forever時表示無限次。
focusable屬性

能否獲得焦點,同樣focusableInTouchMode是滑動時能否獲得焦點。

二.實現

1、在frameworks\base\core\java\android\widget\下建立AlwaysMarqueeTextView.java,內容如下:

package android.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
import android.widget.RemoteViews.RemoteView;
@RemoteView
public class AlwaysMarqueeTextView extends TextView {
public AlwaysMarqueeTextView(Context context) {
 super(context);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {
 super(context, attrs);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs,
  int defStyle) {
 super(context, attrs, defStyle);
}
@Override
public boolean isFocused() {
 return true;
}
}
2、執行update-api的命令:
./mk update-api

3、重新編譯整個工程

4、修改相應的TextView控制元件

-    <TextView 
+    <AlwaysMarqueeTextView 
         android:id="@+id/item_title" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content"
         android:layout_toRightOf="@id/item_icon"
         android:layout_marginBottom="6dip"
         android:textAppearance="?android:attr/textAppearanceMedium"
+        android:focusableInTouchMode="true"
         android:singleLine="true"
-        android:ellipsize="none"
+        android:ellipsize="marquee"
+        android:marqueeRepeatLimit="marquee_forever"
         />

相關推薦

android TextView實現滾動顯示效果(列表中多個同時滾動,親測可用)

 在android中,如果設定了TextView控制元件為單行顯示,且顯示的文字太長的話,預設情況下會造成顯示不全的情況,這種情況下我們需要設定該控制元件屬性如下: <TextView android:id="@+id/tv1"

TextView實現滾動顯示效果

一.TextView基礎 TextView實現文字滾動需要以下幾個要點: 1.文字長度長於可顯示範圍:android:singleLine="true" 2.設定可滾到,或顯示樣式:android:ellipsize="marquee" 3.TextView只有在獲取焦點後

Android實現textview文字滾動顯示(跑馬燈效果

自定義Textview並對其進行改造,主要目的是讓textview獲取焦點,這樣文字才能滾動起來 public class MyTextView extends android.support.v7

TextView實現滾動字幕的效果【跑馬燈】

TextView 實現滾動字幕效果【跑馬燈效果】: android:ellipsize="marquee"//可滾動,star(頭部),middle(中部),end(尾部) 超出顯示不下的內容用...

Android TextView實現滾動跑馬燈效果Marquee

可以利用原生功能實現效果: 1、如果TextView中的文字過長,(在失去焦點時)那麼超出顯示範圍的文字以...顯示 2、如果TextView獲得了焦點,那麼其中的文字以迴圈滾動的方式顯示 佈局中程式

WPF實現滾動顯示的TextBlock

load ack ase child summary 但是 表示 double send 原文:WPF實現滾動顯示的TextBlock  在我們使用TextBlock進行數據顯示時,經常會遇到這樣一種情況就是TextBlock的文字內容太多,如果全部顯示的話會占據大量的界面

呆呆鍵盤手11.14號學到的定位-實現滾動效果

定位:1、靜態定位--static;按照標準文件流進行佈局; 2、相對定位--relative;相對自身;以自身的坐上角(座標點)為參考;會保留原來的位置不被其他元素侵佔; 3、絕對定位--absolute;參考的是頁面的左上角;絕對定位位置不會被保留; 如果父級有定位,則參考父級的座標點;如果父級沒有定

android 中使用TextView實現分段顯示不同顏色的字串

一、最容易想到的是使用多個TextView,設定其android:textColor="#000000" 二、使用HTML標籤 String content="我要顯示<font color='#FF0000'>紅色</font>"; TextVi

Android TextView 實現跑馬燈效果

自定義一個TextView控制元件 public class MarqueeTextView extends AppCompatTextView { public MarqueeTextView(Context context) { s

Android Studio中TextView實現跑馬燈效果

自建一個MarqueeText 類 繼承自AppCompatTextView並重載父類的三個構造方法,新增一個isFocused方法 public class MarqueeText extends AppCompatTextView { public Marque

android:TextView實現文字走馬燈效果(欺騙系統獲取持久的焦點)

通常情況下我們想實現文字的走馬燈效果需要在xml檔案中這樣設定 <TextView android:layout_width="wrap_content"

文字滾動顯示效果

上圖中的文字會滾動顯示。 html: <ul id="tbheadline"> <li><span>最新</span> <p>巧克力熱銷top榜</p></li>

OCiOS動效設計:UITableView 實現滾動視差效果

前言 最近在使用‘悅跑圈’這個App,其‘跑鞋展廳’功能的滾動視差效果深深地吸引了我,在網上搜羅了大量的資料,如下,我將仿照該效果簡單介紹實現方法。 效果演示 細節實現 OffsetImageCell.m - (void)cellOff

自定義TextView實現跑馬燈效果

<span style="font-size:18px;">package com.example.textviewpao; import android.content.Context; import android.graphics.Canvas; import android.graphi

實現滾動導航效果

由於近期有一個頁面需要滾動加導航效果,以前在網上搜了一個滑鼠滾動事件做了一個效果,但程式碼太冗餘,不喜歡,所以抽時間研究了一下,使用jquery+滾動監聽寫了一個小demo,希望能幫助到有需要的朋友。 程式碼如下: <style type="text/css">

Qt 之 QQ系統表情—實現動態顯示效果

簡述 在Qt 之 QQ系統表情(五) 中 我們實現了自定義系統表情視窗,這一篇將簡單介紹如何實現QQ聊天介面中小表情視窗切換至正常表情視窗的動畫效果。 先看看QQ的效果: 當滑鼠懸浮在表情按鈕之上顯示小表情視窗,點選動態顯示正常表情視窗,再點選隱

Android 使用TextView實現跑馬燈效果

too pan 例如 use teset ble isf deb png 前言 我們在開發中經常會遇到一個小問題。比如下面一個小例子: 這個文字太長,單行中導致無法全部顯示出來,這就是今天要實現的功能。 當然,百度中也有很多這種解決方案。 其中有一種,例如:

Android 點選按鈕隱藏/展開 TextView 實現文字摺疊效果

這次版本迭代產品提出了一個很常見的需求:列表中的一個 TextView 條目預設展示兩行文字,超過兩行則展示一個 Button,可點選展開閱讀。再次點選將文字摺疊起來。可摺疊的 TextView 網上教程很多,但找不到這種類似的。做這個需求又遇到一些坑

TextView實現彩色閃動效果

開頭閒扯幾句,很長時間沒有寫部落格,怪自己沒有一直保持這個習慣。其實寫部落格,對個人的提升是非常大的。不管你接觸到多少新的知識點,記不住或者不理解,對於你的提升是非常有限的,但是如果每天將新接觸的到的東西寫下來的話,不僅會讓你更加深入的理解知識,還可以鍛鍊

初學者---Android TextView實現跑馬燈效果

TextView實現跑馬燈效果 <TextView android:layout_width="100dip" android:layout_height="wrap_content"