欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android使用selector修改TextView中字體顏色和背景色的方法

 更新時間:2016年01月13日 14:19:34   作者:chenguang79  
這篇文章主要介紹了Android使用selector修改TextView中字體顏色和背景色的方法,實例分析了selector方法的相關(guān)使用技巧,需要的朋友可以參考下

本文實例講述了Android使用selector修改TextView中字體顏色和背景色的方法。分享給大家供大家參考,具體如下:

android中的selector大家都很熟悉了,用它可以很方便的實現(xiàn),控件在不同的動作中,顏色等值的變化。這里我說一下TextView中的一些應(yīng)用。

我想大家都知道,Button按鈕在源碼上看是一種特殊的TextView,所以我們很多時候,按鈕全是使用的TextView來完成,只要加一個android:clickable="true"就可以了。

TextView在使用selector時,會有兩種情況,一種就是正常的在TextView控件上來判斷按下,焦點等動作的判斷,另一種則是TextView外層控件的這些動作,然后將動作傳回TextView.

一,正常的在TextView控件上來判斷按下,焦點等動作的判斷

這種相對簡單,一般要修改控件的背景色和文字色,我們要用到兩個xml文件。代碼如下:

tbackground.xml 修改背景

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <!-- 默認(rèn)時的背景圖片-->
  <!--<item android:drawable="@color/white" />-->
  <!-- 沒有焦點時的背景圖片 -->
  <item android:state_window_focused="false" android:drawable="@color/white" />
  <item android:state_focused="false" android:state_pressed="true"  android:drawable="@color/btnbackBlue" />
</selector>

這里要說明一點,大家看到了,我把默認(rèn)時的背景圖片(顏色)給注了,這是為什么呢,因為你把這條放在最前面,無論什么時候,它都會最先運行,它運行完了,程序就不會再往下運行了,所以下面寫的全都沒有了。如果你想設(shè)置默認(rèn)值,請把這行代碼,放到最下面。

ttextcolor.xml 修改文字

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <!-- 沒有焦點時的背景圖片 -->
  <item android:state_window_focused="false" android:color="@color/black" />
  <item android:state_focused="false" android:state_pressed="true"  android:color="@color/white" />
  <!-- 默認(rèn)時的背景圖片-->
  <item android:color="@color/black" />
</selector>

文字的修改我就把默認(rèn)值,放到了最后,這里也要說一下,背景我們要用android:drawable而文字的顏色要使用android:color,不然會報錯,為什么?大家想想。哈哈。。。。

<TextView
    android:id="@+id/txt_collection_cancel"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:text="取消"
    android:textColor="@drawable/ttextcolor"
    android:gravity="center"
    android:background="@drawable/tbackground"
    android:clickable="true"/>

二,TextView外層控件的這些動作,然后將動作傳回TextView.

這種情況也常出現(xiàn),我們一般會在外層加一個LinearLayout或是RelativeLayout。而我們會把點擊的事件,給這個外層控件。這時候,你要修改的就是外層控件的背景,和TextView控件的文字顏色。這個時候,我們還用上面的方式,你會發(fā)現(xiàn),TextView沒有反應(yīng),為什么,因為它沒有得到事件,這個時候,會用到一個屬性就是android:duplicateParentState

它的官方解釋是”如果設(shè)置此屬性,將直接從父容器中獲取繪圖狀態(tài)(光標(biāo),按下等)。 注意僅僅是獲取繪圖狀態(tài),而沒有獲取事件,也就是你點一下LinearLayout時Button有被點擊的效果,但是不執(zhí)行點擊事件“。看下面的代碼:

<RelativeLayout
    android:id="@+id/rela_collection_add"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:background="@drawable/tbackground"
    android:clickable="true">
    <View
      android:id="@+id/line_collection_add"
      android:layout_width="fill_parent"
      android:layout_height="1dp"
      android:background="@color/gray"
      android:layout_gravity="center_vertical"
      android:layout_alignParentBottom="true"
      />
    <TextView
      android:id="@+id/txt_collection_add"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:text="新建收藏夾"
      android:textColor="@drawable/ttextcolor"
      android:textSize="@dimen/ActionBar_title_size"
      android:duplicateParentState="true"
      android:gravity="center"
      android:layout_above="@+id/line_collection_add"
      />
</RelativeLayout>

我們在修改外層控件背景的同時,也在修改 TextView文字的顏色.

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

  • 淺談React Native打包apk的坑

    淺談React Native打包apk的坑

    下面小編就為大家?guī)硪黄獪\談React Native打包apk的坑。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • android判斷應(yīng)用是否已經(jīng)啟動的實例

    android判斷應(yīng)用是否已經(jīng)啟動的實例

    這篇文章主要介紹了android判斷應(yīng)用是否已經(jīng)啟動的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • android handler.post和handler.sendMessage的區(qū)別和聯(lián)系

    android handler.post和handler.sendMessage的區(qū)別和聯(lián)系

    handler.post和handler.sendMessage本質(zhì)上是沒有區(qū)別的,都是發(fā)送一個消息到消息隊列中,而且消息隊列和handler都是依賴于同一個線程的。接下來通過本文給大家分享android handler.post和handler.sendMessage的區(qū)別和聯(lián)系,一起看看吧
    2017-08-08
  • Android圖片無限輪播的實現(xiàn)代碼

    Android圖片無限輪播的實現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了Android圖片無限輪播的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Android實現(xiàn)二級購物車的全選加反選、總價功能

    Android實現(xiàn)二級購物車的全選加反選、總價功能

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)二級購物車的全選加反選、總價功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Android系統(tǒng)實現(xiàn)DroidPlugin插件機制

    Android系統(tǒng)實現(xiàn)DroidPlugin插件機制

    這篇文章主要為大家詳細(xì)介紹了Android系統(tǒng)上實現(xiàn)DroidPlugin插件機制,可以在無需安裝、修改的情況下運行APK文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android Settings 按住電源按鈕的操作方法

    Android Settings 按住電源按鈕的操作方法

    這篇文章主要介紹了Android Settings 按住電源按鈕的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Android SDK Manager解決更新時的問題 :Failed to fetch URL...

    Android SDK Manager解決更新時的問題 :Failed to fetch URL...

    本文主要介紹解決安裝使用SDK Manager更新時的問題:Failed to fetch URL...,這里提供了詳細(xì)的資料及解決問題辦法,有需要的小伙伴可以參考下
    2016-09-09
  • 使用Android Studio創(chuàng)建OpenCV4.1.0 項目的步驟

    使用Android Studio創(chuàng)建OpenCV4.1.0 項目的步驟

    這篇文章主要介紹了使用Android Studio創(chuàng)建OpenCV4.1.0 項目的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 詳解Android的MVVM框架 - 數(shù)據(jù)綁定

    詳解Android的MVVM框架 - 數(shù)據(jù)綁定

    這篇文章主要介紹了詳解Android的MVVM框架 - 數(shù)據(jù)綁定,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論