ToggleButton形状不变

时间:2014-11-21 15:42:14

标签: java android

我试图制作一个绿色背景的圆形togglebutton。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:visible="true">
    <solid android:color="@color/material_green_A200" />
</shape>

用于定义形状然后使用

android:background="@drawable/circlebutton"

改变形状和颜色,但没有任何变化。它显示没有背景颜色或形状,但文本是可见的

1 个答案:

答案 0 :(得分:3)

试试这个,

您的activity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ToggleButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/style_toggle_button" />

</RelativeLayout>

样式切换按钮(style_toggle_button.xml):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/offcirclebutton" android:state_enabled="false"/>
    <item android:drawable="@drawable/oncirclebutton" android:state_pressed="true"/>
    <item android:drawable="@drawable/oncirclebutton" android:state_checked="true"/>
    <item android:drawable="@drawable/oncirclebutton" android:state_focused="true"/>
    <item android:drawable="@drawable/offcirclebutton"/>
</selector>

样式OFF(offcirclebutton.xml):

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:visible="true">
    <solid android:color="@android:color/holo_orange_dark" />
</shape>

样式ON(oncirclebutton.xml):

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:visible="true">
    <solid android:color="@android:color/holo_green_dark" />
</shape>