DustinChu Blog

使用StateListAnimator讓Button動起來

讓原件狀態改變是通過StateListAnimator動畫集來改變View的狀態的
它可以使View在不同狀態下發生不同的變化

DEMO

實作

StateListAnimator.xml

在drawable 下新增一個 StateListAnimator.xml
valueTo 可以依照喜好設定大一點讓他轉動角度變大一點

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<set>
<objectAnimator android:propertyName="rotationX"
android:duration="@android:integer/config_shortAnimTime"
android:valueTo="90"
android:valueType="floatType"/>
</set>
</item>
<item android:state_pressed="false">
<set>
<objectAnimator android:propertyName="rotationX"
android:duration="@android:integer/config_shortAnimTime"
android:valueTo="0"
android:valueType="floatType"/>
</set>
</item>
</selector>

activity_main

在你的Button下 將下面的程式碼貼上
這樣點擊他就會有像Demo 第一個的效果了

1
android:stateListAnimator="@drawable/StateListAnimator"

將Button改成線條 

單單只有點擊動畫實在太醜了
將Button美化一下

  • drawable 下新增一個 btn_loginsuccess.xml
  • 可以在自己修改要的寬度高度顏色
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="3dp" />
<stroke android:width="1dp"
android:color="#03A9F4" />
</shape>
  • activity_main.xml Button下將background添加剛剛新增的xml皆可
  • 這樣就達到上面DEMO第二個的效果了
1
android:background="@drawable/btn_loginsuccess"

文章標題:使用StateListAnimator讓Button動起來

文章作者:Dustinchu

發布時間:2017年09月15日 - 20:09

最後更新:2017年09月25日 - 23:09

原始連結:https://dustinchu.github.io/2017/09/15/AndroidDesignButton/

許可協議: 屬名-非商業性使用-禁止編譯 4.0 國際 轉載請保留原文連結及作者。

相關文章: