android statelistdrawable для уменьшения размера кнопки, а затем возврата к исходному размеру
Я пытаюсь использовать свой XML-файл, чтобы добавить кнопку для рисования, чтобы она давала эффект отскока. Размер покоя должен быть 1х1. Когда вы нажимаете на него, он должен перейти от 1 до 0,75, а затем обратно от 0,75 до 1, чтобы он выглядел как отскок.
Я хочу, чтобы состояние по умолчанию было в основном ничем (другой код заставляет состояние по умолчанию срабатывать, и отскок будет происходить, когда я этого не хочу).
Итак, мне нужно 3 государства. 1 для нажатия, 1 для возврата к значению по умолчанию и один для значения по умолчанию.
Есть ли какое-либо другое состояние, которое я могу использовать, чтобы кнопка становилась меньше, а затем снова увеличивалась в виде отскока без использования значения по умолчанию?
коды
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item> <!-- default state -->
<set android:ordering="together">
<objectAnimator
android:duration="75"
android:propertyName="scaleX"
android:valueFrom="1"
android:valueTo="1"
android:valueType="floatType" />
<objectAnimator
android:duration="75"
android:propertyName="scaleY"
android:valueFrom="1"
android:valueTo="1"
android:valueType="floatType" />
</set>
</item>
<item android:state_pressed="true"> <!-- pressed state -->
<set android:ordering="together">
<objectAnimator
android:duration="75"
android:propertyName="scaleX"
android:valueFrom="1"
android:valueTo="0.25"
android:valueType="floatType" />
<objectAnimator
android:duration="75"
android:propertyName="scaleY"
android:valueFrom="1"
android:valueTo="0.25"
android:valueType="floatType" />
</set>
</item>
<item android:state_selected="true"> <!-- selected state -->
<set android:ordering="together">
<objectAnimator
android:duration="75"
android:propertyName="scaleX"
android:valueFrom="0.25"
android:valueTo="1"
android:valueType="floatType" />
<objectAnimator
android:duration="75"
android:propertyName="scaleY"
android:valueFrom="0.25"
android:valueTo="1"
android:valueType="floatType" />
</set>
</item>
</selector>
1 ответ
Используйте эти состояния для состояния по умолчанию:
<item
android:state_pressed="false"
android:state_focused="false"
android:state_selected="false"
...>