StateListAnimator高度和涟漪效果不起作用。

5

我希望我的图像按钮在有阴影的同时还能有涟漪效果。我的图像按钮已经有了6dp的阴影,但是我没有得到涟漪效果。以下是我的代码。请问有什么错误吗?

<ImageButton
    android:id="@+id/share_fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="12dp"
    android:background="@drawable/ripples_on_touch"
    android:elevation="6dp"
    android:padding="14dp"
    android:src="@drawable/ic_share_white_24dp"
    android:stateListAnimator="@animator/lift_on_touch"
    app:borderWidth="0dp"
    tools:targetApi="lollipop" />

v21/lift_on_touch.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="true" android:state_pressed="true">
        <objectAnimator
            android:duration="@android:integer/config_shortAnimTime"
            android:propertyName="translationZ"
            android:valueTo="12dp"
            android:valueType="floatType"
            />
    </item>
    <item>
        <objectAnimator
            android:duration="@android:integer/config_shortAnimTime"
            android:propertyName="translationZ"
            android:valueTo="0dp"
            android:valueType="floatType"
            />
    </item>
</selector>

v21/ripples_on_touch.xml

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item>
        <shape android:shape="oval">
            <solid android:color="#757575"/>
        </shape>
    </item>
</ripple>

请帮助我。

2个回答

2

由于您在v21/lift_on_touch.xml文件中使用了android:state_pressed="true",因此请确保ImageButton可点击。

示例:

<ImageButton
    android:id="@+id/share_fab"
    ....
    ....
    android:stateListAnimator="@animator/lift_on_touch"
    android:clickable="true" />

0

尝试使用android:foreground="@drawable/ripples_on_touch"而不是android:background="@drawable/ripples_on_touch"


1
谢谢您的回答。不过我已经解决了。 - Nithin Prasad
5
问题是什么? - iamsujan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接