StateListAnimator有xml实现和代码实现
1.xml实现(xml文件可以放在drawable目录(不能自动提示),也可以放在animator目录中(建议))
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<set>
<objectAnimator android:duration="500" android:propertyName="rotationX" android:valueTo="360" android:valueType="floatType" />
</set>
</item>
<item android:state_pressed="false">
<set>
<objectAnimator android:duration="500" android:propertyName="rotationX" android:valueTo="0" android:valueType="floatType" />
</set>
</item>
</selector>
指定控件使用该属性
android:stateListAnimator="@animator/statelistanimator"
或
android:stateListAnimator="@drawable/statelistanimator"
<!--或者 android:stateListAnimator="@drawable/statelistanimator"-->
代码实现
Button button = (Button) findViewById(R.id.btn)
StateListAnimator animator = AnimatorInflater.loadStateListAnimator(this, R.animator.statelistanimator)
//StateListAnimator animator = AnimatorInflater.loadStateListAnimator(this, R.drawable.state)
button.setStateListAnimator(animator)
参考转自:
点击打开链接