Использование android:background@drawable и stateListAnimator на одной кнопке вызывает проблемы - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть кнопка обновления, которая заставила 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"?>
<!-- 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"

            />

1 Ответ

0 голосов
/ 07 марта 2020

Этот "полу" работал на меня. Давать эффект, который я хотел, но анимация - это блок, хотя кнопка получила закругленные углы.

android: передний план = "? android: attr / selectableItemBackgroundBorderless"

...