代码之家  ›  专栏  ›  技术社区  ›  Martin

如何使用android:color更改切换按钮的颜色?

  •  0
  • Martin  · 技术社区  · 6 年前

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
         <item android:state_checked="true" android:color="@color/buttonA"/>
         <item android:state_checked="false" android:color="@color/buttonDisabled"/>
    </selector>
    

    Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: <item> tag requires a 'drawable' attribute or child tag defining a drawable
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Kevin Kurien    6 年前

    在res/values文件夹中创建名为colors.xml的xml:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="red">#ff0000</color>
        <color name="green">#00ff00</color>
    </resources>
    

    在drawable文件夹中,创建一个xml文件my_btn_toggle.xml:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_checked="false" android:drawable="@color/red"  />
        <item android:state_checked="true" android:drawable="@color/green"  />
    </selector>
    

    在xml部分定义切换按钮:

    <ToggleButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New ToggleButton"
        android:id="@+id/toggleButton"
        android:background="@drawable/my_btn_toggle"/> 
    

    link

    推荐文章