Android編程實現(xiàn)控件不同狀態(tài)文字顯示不同顏色的方法
本文實例講述了Android編程實現(xiàn)控件不同狀態(tài)文字顯示不同顏色的方法。分享給大家供大家參考,具體如下:
方式一:
第一要選擇的控件
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/close_time_display" android:layout_marginRight="20dp" android:text="@string/default_time" style="@style/item_content_text_style"/>
style是自定義的風(fēng)格,對應(yīng)的xml文件如下:
<style name="item_content_text_style"> <item name="android:textSize">26sp</item> <item name="android:duplicateParentState">true</item> <item name="android:textColor">@drawable/textcolor_yellow_selector</item> </style>
textColor中的textcolor_yellow_selector如下
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:color="@color/yellow" /> <item android:state_focused="true" android:color="@color/yellow" /> <item android:state_selected="true" android:color="@color/yellow"></item> <item android:color="@color/white"/> </selector>
實現(xiàn)方式二:ColorStateList文字變色
API
Windows平臺VC,對于不同的按鈕狀態(tài),采用不同的顏色顯示文字,實現(xiàn)起來比較復(fù)雜,一般都得自繪按鈕。但是Android里面實現(xiàn)起來非常方便。
我們首先添加一個ColorStateList資源XML文件,XML文件保存在res/color/button_text.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#ffff0000"/> <!-- pressed --> <item android:state_focused="true" android:color="#ff0000ff"/> <!-- focused --> <item android:color="#ff000000"/> <!-- default --> </selector>
Button btn=(Button)findViewById(R.id.btn); Resources resource=(Resources)getBaseContext().getResources(); ColorStateList csl=(ColorStateList)resource.getColorStateList(R.color.button_text); if(csl!=null){ btn.setTextColor(color_state_list);//設(shè)置按鈕文字顏色 }
或者可以這樣:
XmlResourceParser xpp=Resources.getSystem().getXml(R.color.button_text); try { ColorStateList csl= ColorStateList.createFromXml(getResources(),xpp); btn.setTextColor(csl); } catch (Exception e) { // TODO: handle exception }
最后附上所有可能出現(xiàn)的狀態(tài):
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:color="hex_color" android:state_pressed=["true" | "false"] android:state_focused=["true" | "false"] android:state_selected=["true" | "false"] android:state_active=["true" | "false"] android:state_checkable=["true" | "false"] android:state_checked=["true" | "false"] android:state_enabled=["true" | "false"] android:state_window_focused=["true" | "false"] /> </selector>
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android編程實現(xiàn)圖片背景漸變切換與圖層疊加效果
- Android編程實現(xiàn)左右滑動切換背景的方法
- Android實現(xiàn)動態(tài)切換組件背景的方法
- 修改Android FloatingActionButton的title的文字顏色及背景顏色實例詳解
- Android中EditText和AutoCompleteTextView設(shè)置文字選中顏色方法
- Android開發(fā)中ImageLoder加載網(wǎng)絡(luò)圖片時將圖片設(shè)置為ImageView背景的方法
- android開發(fā)修改狀態(tài)欄背景色和圖標(biāo)顏色的示例
- Android中創(chuàng)建類似Instagram的漸變背景效果
- Android開發(fā)之背景動畫簡單實現(xiàn)方法
- Android編程實現(xiàn)對話框Dialog背景透明功能示例
- Android開發(fā)實現(xiàn)按鈕點擊切換背景并修改文字顏色的方法
相關(guān)文章
Android 基于google Zxing實現(xiàn)二維碼、條形碼掃描,仿微信二維碼掃描效果(推薦)
這篇文章主要介紹了 Android 基于google Zxing實現(xiàn)二維碼、條形碼掃描,仿微信二維碼掃描效果,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01flutter 輪播圖動態(tài)加載網(wǎng)絡(luò)圖片的方法
Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。這篇文章主要介紹了flutter 輪播圖動態(tài)加載網(wǎng)絡(luò)圖片的方法 ,需要的朋友可以參考下2019-07-07Android 連接藍(lán)牙掃碼器無輸入框的實現(xiàn)
這篇文章主要介紹了Android 連接藍(lán)牙掃碼器無輸入框的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02Android波紋擴散效果之仿支付寶咻一咻功能實現(xiàn)波紋擴散特效
這篇文章主要介紹了Android波紋擴散效果之仿支付寶咻一咻功能實現(xiàn)波紋擴散特效的相關(guān)資料,需要的朋友可以參考下2016-02-02Grow heap (frag case) 堆內(nèi)存過大的深入解析
本篇文章是對Grow heap (frag case) 堆內(nèi)存過大的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06