最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android TextView實(shí)現(xiàn)跑馬燈效果

 更新時間:2017年06月30日 14:07:15   作者:段合江  
這篇文章主要為大家詳細(xì)介紹了android TextView實(shí)現(xiàn)跑馬燈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了android TextView跑馬燈效果的具體代碼,供大家參考,具體內(nèi)容如下

一、要點(diǎn)

設(shè)置四個屬性

android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"

直接在xml中使用

<TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:singleLine="true"
  android:ellipsize="marquee"
  android:focusable="true"
  android:focusableInTouchMode="true"
  android:text="人生是一場無休、無歇、無情的戰(zhàn)斗,凡是要做個夠得上稱為人的人,都得時時向無形的敵人作戰(zhàn)。" />


注意:singleLine屬性 不能換成 maxlLines 

二、復(fù)雜布局

在復(fù)雜的布局中可能不會實(shí)現(xiàn)跑馬燈效果。例如如下布局中,就只有第一個TextView會有跑馬燈效果

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/tv1"
  android:singleLine="true"
  android:ellipsize="marquee"
  android:focusable="true"
  android:focusableInTouchMode="true"
  android:text="人生是一場無休、無歇、無情的戰(zhàn)斗,凡是要做個夠得上稱為人的人,都得時時向無形的敵人作戰(zhàn)。" />
 <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_below="@+id/tv1"
  android:layout_marginTop="10dp"
  android:singleLine="true"
  android:ellipsize="marquee"
  android:focusable="true"
  android:focusableInTouchMode="true"
  android:text="人生是一場無休、無歇、無情的戰(zhàn)斗,凡是要做個夠得上稱為人的人,都得時時向無形的敵人作戰(zhàn)。" />


</RelativeLayout>

這時候就需要自定義View,實(shí)現(xiàn)跑馬燈效果

自定義MarQueeTextView extents TextView  重寫isFocused()方法,返回true

public class MarqueeText extends TextView {
 public MarqueeText(Context context) {
  super(context);
 }

 public MarqueeText(Context context, @Nullable AttributeSet attrs) {
  super(context, attrs);
 }

 public MarqueeText(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
  super(context, attrs, defStyleAttr);
 }

 @Override
 public boolean isFocused() {
  return true;
 }
}

布局中使用

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 <com.example.dhj.marqueedemo.View.MarqueeText
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/tv1"
  android:singleLine="true"
  android:ellipsize="marquee"
  android:focusable="true"
  android:focusableInTouchMode="true"
  android:text="人生是一場無休、無歇、無情的戰(zhàn)斗,凡是要做個夠得上稱為人的人,都得時時向無形的敵人作戰(zhàn)。" />
 <com.example.dhj.marqueedemo.View.MarqueeText
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_below="@+id/tv1"
  android:layout_marginTop="10dp"
  android:singleLine="true"
  android:ellipsize="marquee"
  android:focusable="true"
  android:focusableInTouchMode="true"
  android:text="人生是一場無休、無歇、無情的戰(zhàn)斗,凡是要做個夠得上稱為人的人,都得時時向無形的敵人作戰(zhàn)。" />


</RelativeLayout>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

宝清县| 孙吴县| 沁阳市| 靖江市| 黔西县| 桐梓县| 利津县| 克什克腾旗| 宣城市| 吕梁市| 遂平县| 沙湾县| 庆元县| 临沧市| 大理市| 盱眙县| 社旗县| 祥云县| 琼海市| 和田县| 江阴市| 色达县| 洪江市| 康定县| 汉阴县| 宁河县| 双辽市| 吉林省| 金坛市| 五华县| 荣昌县| 浦北县| 凌云县| 乌兰浩特市| 武胜县| 普定县| 盱眙县| 满城县| 原平市| 伊金霍洛旗| 福贡县|