xml中的波纹可绘制不起作用

时间:2015-02-11 21:36:50

标签: android xml android-layout android-5.0-lollipop

我遇到了一个问题:我有一个xml drawable我想用作radiobutton的背景,但是涟漪效果不起作用。任何人都可以帮我吗?

我的xml背景:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#8bc34a" >
<item>
   <selector>
   <item android:drawable="@drawable/tb_checked" android:state_checked="true"></item>
<item android:drawable="@drawable/transparent"></item>
</selector>
</item>
</ripple>

3 个答案:

答案 0 :(得分:7)

如果您希望在其他内容之上或之下显示无限波纹,请使用<layer-list>容器将其叠加,并且不要将任何内容放在<ripple>元素中。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <ripple android:color="#8bc34a" />
    </item>
    <item>
        <selector>
            <item android:drawable="@drawable/tb_checked"
                  android:state_checked="true" />
            <item android:drawable="@drawable/transparent" />
        </selector>
    </item>
</layer-list>

答案 1 :(得分:1)

<RadioButton
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:padding="@dimen/activity_horizontal_margin"
    android:text="Choice 1"
    android:gravity="center"
    android:background="@drawable/button_choice_white"
    android:button="@null"/>

在v1-drawable中添加背景可绘制的纹波

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
<item android:id="@android:id/mask">
    <shape android:shape="rectangle">
        <solid android:color="?attr/colorAccent" />
    </shape>
</item>
<item>
    <selector>
        <item android:state_pressed="true">
            <shape android:shape="rectangle">
                <solid android:color="?attr/colorAccent"/>
            </shape>
        </item>

        <item android:state_checked="true">
            <shape android:shape="rectangle">
                <solid android:color="?attr/colorAccent"/>
            </shape>
        </item>

        <item>
            <shape android:shape="rectangle">
                <solid android:color="@color/button_choice_background"/>
            </shape>
        </item>
    </selector>
</item>

答案 2 :(得分:-1)

在RadioButton xml声明中添加此属性  的机器人:背景=&#34;机器人:?selectableItemBackground&#34; 我很确定这会奏效。