程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-通過按鈕點擊改變 TextView 的背景顏色

android-通過按鈕點擊改變 TextView 的背景顏色

編輯:編程綜合問答
通過按鈕點擊改變 TextView 的背景顏色

我想通過點擊按鈕改變一個 textview 的背景。
例如,如果點擊 textview,它的背景變成黃色,直到再次點擊時顏色又變成默認的背景顏色。

目前 textview 的背景顏色是按下點擊按鈕時改變,但是釋放時又變成默認的背景顏色。
Drawable/selector.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:drawable="@drawable/circle_on" android:state_enabled="true" android:state_pressed="true"/>
     <item android:drawable="@drawable/circle_on" android:state_enabled="true" android:state_focused="true"/>
     <item android:drawable="@drawable/circle_off"/>
</selector>

Drawable/circle_on:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="oval" >
   <stroke
     android:width="2dp"
     android:color="@color/Gray" >
   </stroke>
   <solid android:color="@color/LightBlue" />
</shape>

Drawable/circle_off:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="oval" >
    <stroke
        android:width="2dp"
        android:color="@color/Gray" >
    </stroke>
    <solid android:color="@color/WhiteSmoke" />
</shape>

TextView:

<TextView
                style="@style/RoundText"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:background="@drawable/repeat_selector"
                android:clickable="true"
                android:text="Sun" >
            </TextView>

Text Style:

<style name="RoundText">
    <item name="android:textColor">#555555</item>
    <item name="android:gravity">center_vertical|center_horizontal</item>
    <item name="android:textSize">15sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:fontFamily">sans-serif-thin</item>
</style>

請問哪裡出錯了呢?

最佳回答:


你的selector代碼有2個狀態就是按鈕點擊和焦點的時候會顯示circle_on的背景,但是不是這2個狀態的時候就是circle_off(釋放掉的時候或者焦點不在該button上的時候)
你最好還是代碼裡面實現,根據點擊的情況來判斷變背景色

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved