使用android:background@drawable同一按钮上的stateListAnimator会导致问题
我有一个更新按钮,它有一个Statelistanimator,可以在单击时给用户一些反馈。 当我从drawable添加按钮背景时,动画不起作用/不显示,我无法解决这个问题。看起来背景像是按钮(?)上的覆盖物。如何使动画重新工作/显示 背景:使用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
<?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>
找不到与此相关的帖子,有人吗?找不到与此相关的帖子,有人吗?