使用android:background@drawable同一按钮上的stateListAnimator会导致问题

使用android:background@drawable同一按钮上的stateListAnimator会导致问题,android,xml,android-studio,android-layout,android-animation,Android,Xml,Android Studio,Android Layout,Android Animation,我有一个更新按钮,它有一个Statelistanimator,可以在单击时给用户一些反馈。 当我从drawable添加按钮背景时,动画不起作用/不显示,我无法解决这个问题。看起来背景像是按钮(?)上的覆盖物。如何使动画重新工作/显示 背景: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <sol

我有一个更新按钮,它有一个Statelistanimator,可以在单击时给用户一些反馈。 当我从drawable添加按钮背景时,动画不起作用/不显示,我无法解决这个问题。看起来背景像是按钮(?)上的覆盖物。如何使动画重新工作/显示

背景:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorButton"/>
    <corners android:radius="30dp"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorButton"/>
    <corners android:radius="30dp"/>
    <padding
        android:bottom="@dimen/abc_button_padding_vertical_material"
        android:left="@dimen/abc_button_padding_horizontal_material"
        android:right="@dimen/abc_button_padding_horizontal_material"
        android:top="@dimen/abc_button_padding_vertical_material" />
</shape>

动画

<?xml version="1.0" encoding="utf-8"?>
<!-- animate the translationZ property of a view when pressed -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_enabled="true"
        android:state_pressed="true">
        <set>
            <objectAnimator
                android:duration="@android:integer/config_shortAnimTime"
                android:propertyName="translationZ"
                android:valueTo="0"
                android:valueType="floatType"/>
        </set>
    </item>
    <item>
        <set>
            <objectAnimator
                android:duration="@android:integer/config_shortAnimTime"
                android:propertyName="translationZ"
                android:valueTo="8"
                android:valueType="floatType"/>
        </set>
    </item>
</selector>

钮扣

  <Button
            android:id="@+id/btnUpdate"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:text=""
            android:stateListAnimator="@animator/update"
            android:clickable="true"
            android:textSize="16sp"
            android:focusable="true"
            android:layout_width="fill_parent"
            android:background="@drawable/button_background"

            />

这个“半成品”适合我。给我想要的效果,但动画是一个块,即使按钮得到圆角

android:foreground=“?android:attr/selectableItemBackgroundBorderless”

这个“半”对我来说很有用。给我想要的效果,但动画是一个块,即使按钮得到圆角


android:前台=“?android:attr/selectableItemBackgroundBorderless”

您需要在自定义背景中添加填充:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorButton"/>
    <corners android:radius="30dp"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorButton"/>
    <corners android:radius="30dp"/>
    <padding
        android:bottom="@dimen/abc_button_padding_vertical_material"
        android:left="@dimen/abc_button_padding_horizontal_material"
        android:right="@dimen/abc_button_padding_horizontal_material"
        android:top="@dimen/abc_button_padding_vertical_material" />
</shape>

您需要在自定义背景中添加填充:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorButton"/>
    <corners android:radius="30dp"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorButton"/>
    <corners android:radius="30dp"/>
    <padding
        android:bottom="@dimen/abc_button_padding_vertical_material"
        android:left="@dimen/abc_button_padding_horizontal_material"
        android:right="@dimen/abc_button_padding_horizontal_material"
        android:top="@dimen/abc_button_padding_vertical_material" />
</shape>


找不到与此相关的帖子,有人吗?找不到与此相关的帖子,有人吗?