TextView跑馬燈效果與addStatesFromChildren屬性關係
在Android中要顯示跑馬燈是比較容易的,只要設定2個屬性就可以了:
android:singleLine="true"
android:ellipsize="marquee"
但 是要顯示跑馬燈該View必需是可以取得焦點的,只有在取得焦點的情況下跑馬燈才會出現.
如果是組合View的情況下就有問題了, 如下一個組合View:
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><? xml version="1.0" encoding="utf-8" ?>
< LinearLayout
xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"
android:gravity ="center_vertical"
android:background ="@drawable/f_background"
android:layout_width ="fill_parent"
android:focusable ="true"
android:layout_height ="50px" >
< TextView
android:id ="@+id/info_text"
android:focusable ="true"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="test marquee .. "
android:textColor ="@color/black"
android:singleLine ="true"
android:ellipsize ="marquee"
android:marqueeRepeatLimit ="3"
android:textSize ="18sp"
/>
< TextView
android:id ="@+id/date_text"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:layout_gravity ="bottom"
android:textColor ="@color/gray"
android:text ="2010/05/28"
android:textSize ="12sp"
/>
</ LinearLayout >
< LinearLayout
xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"
android:gravity ="center_vertical"
android:background ="@drawable/f_background"
android:layout_width ="fill_parent"
android:focusable ="true"
android:layout_height ="50px" >
< TextView
android:id ="@+id/info_text"
android:focusable ="true"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="test marquee .. "
android:textColor ="@color/black"
android:singleLine ="true"
android:ellipsize ="marquee"
android:marqueeRepeatLimit ="3"
android:textSize ="18sp"
/>
< TextView
android:id ="@+id/date_text"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:layout_gravity ="bottom"
android:textColor ="@color/gray"
android:text ="2010/05/28"
android:textSize ="12sp"
/>
</ LinearLayout >
上面示例中2個TextView組合為一個View,由於設定了LinearLayout為focusable而TextView就沒法取得焦點了,這樣 這個TextView的跑馬燈效果就顯示不出來,就算你也設定TextView的 android:focusable=
"true"
也是
沒用的. 這個時候就要使用addStatesFromChildren 這個屬性了,在LinearLayout中設定這個屬性,然後設定TextView的focusable=
"true"
就可以了.關於addStatesFromChildren的說明:
Sets whether
this
ViewGroup's
drawablestates
also include its children's drawablestates.
可以正常顯示的程式碼:
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><? xml version="1.0" encoding="utf-8" ?>
< LinearLayout
xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"
android:gravity ="center_vertical"
android:background ="@drawable/zixun_background"
android:layout_width ="fill_parent"
android:addStatesFromChildren ="true"
android:layout_height ="50px" >
< TextView
android:id ="@+id/info_text"
android:focusable ="true"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text =" "
android:textColor ="@color/black"
android:singleLine ="true"
android:ellipsize ="marquee"
android:marqueeRepeatLimit ="3"
android:textSize ="18sp"
/>
< TextView
android:id ="@+id/date_text"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:layout_gravity ="bottom"
android:textColor ="@color/gray"
android:text ="2010/05/28"
android:textSize ="12sp"
/>
</ LinearLayout >
< LinearLayout
xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"
android:gravity ="center_vertical"
android:background ="@drawable/zixun_background"
android:layout_width ="fill_parent"
android:addStatesFromChildren ="true"
android:layout_height ="50px" >
< TextView
android:id ="@+id/info_text"
android:focusable ="true"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text =" "
android:textColor ="@color/black"
android:singleLine ="true"
android:ellipsize ="marquee"
android:marqueeRepeatLimit ="3"
android:textSize ="18sp"
/>
< TextView
android:id ="@+id/date_text"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:layout_gravity ="bottom"
android:textColor ="@color/gray"
android:text ="2010/05/28"
android:textSize ="12sp"
/>
</ LinearLayout >
相關文章
- 影片直播原始碼,Android TextView設定跑馬燈效果原始碼AndroidTextView
- Swift跑馬燈效果Swift
- TextView走馬燈TextView
- 跑馬燈帶你深入淺出TextView的原始碼世界TextView原始碼
- androidTextView實現簡單的跑馬燈效果AndroidTextView
- 微信小程式如何開發跑馬燈效果?微信小程式
- JavaFx 實現水平滾動文字(跑馬燈效果)Java
- flutter跑馬燈Flutter
- Flutter 跑馬燈Flutter
- quotes屬性與<q>標籤關係
- VUE-文字跑馬燈Vue
- Vue實現跑馬燈效果以及封裝為元件釋出Vue封裝元件
- HTMl 中marquee標籤實現無縫滾動跑馬燈效果HTML
- CSS 數學函式與容器查詢實現不定寬文字溢位跑馬燈效果CSS函式
- 簡單實現跑馬燈案例
- H5製作跑馬燈H5
- 用js寫的一個跑馬燈JS
- HTML <script> 指令碼的 async 與 defer 屬性及不同屬性的執行時機與 DOMContentLoaded 事件的關係HTML指令碼事件
- 戰鬥公式的演化與策略--屬性與公式的關係、減法公式與乘法公式公式
- 前端實現文字跑馬燈的三種方式前端
- iOS:一用就上癮的跑馬燈檢視iOS
- HarmonyOS NEXT應用開發之深色跑馬燈案例
- Flutter實現Android跑馬燈及滾動廣告FlutterAndroid
- css3 filter屬性,不會ps也沒關係CSSS3Filter
- 深刻理解php“繼承“、“私有屬性“、“$this指向“的關係PHP繼承
- (4)8個led每0.5s閃爍(跑馬燈)
- 關於 Angular 部署以及 index.html 裡 base hRef 屬性的關聯關係AngularIndexHTML
- CSS3頁面開關燈效果CSSS3
- css毛玻璃效果(外加background屬性)CSS
- 資料關係比較:相關性 vs 因果關係
- Python 類的屬性與例項屬性Python
- Feedvisor:2019年亞馬遜消費者與品牌關係研究亞馬遜
- 一個有上下滾動效果的TextViewTextView
- 【集合論】關係閉包 ( 關係閉包求法 | 關係圖求閉包 | 關係矩陣求閉包 | 閉包運算與關係性質 | 閉包複合運算 )矩陣
- jQuery設定disabled屬性與移除disabled屬性jQuery
- WPF 之 依賴屬性與附加屬性(五)
- 雲音樂隱性關係鏈的探索與實踐
- SiemensPLMSoftware與威馬汽車達成戰略合作伙伴關係
- Hadoop與Spark關係HadoopSpark