2015-03-13 51 views
2

我有一個圖像按鈕,當它更改可繪製時,我想要設置動畫。我想動畫從pencilcross的動作,就像打開抽屜時漢堡包變成後退箭頭一樣。我道歉的圖像是白色的,這是背景相同(我唯一的版本),所以只需從鏈接拖動圖像,你會明白我的意思。我希望有人能指出我正確的方向來開始這個。在android上創建自定義按鈕動畫

+0

你想要什麼樣的動畫? – dhams 2015-03-13 12:29:29

回答

0

您可以使用AnimatedDrawable和基於位圖的框架創建動畫圖標。在L上,您可以使用AnimatedStateListDrawable來創建有狀態的動畫(如複選框動畫)。

下面是使用可以啓動和代碼停止爲15ms長的幀的AnimatedDrawable例子(實際上這是對L-預覽複選框中的實現):是一種AnimatedStateListDrawable使用

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:duration="15" android:drawable="@drawable/my_icon_frame_000" /> 
    ...additional frames... 
</animation-list> 

這裏AnimatedDrawable過渡到實現複選框動畫,啓動和停止自動根據視圖狀態:

<animated-selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:state_checked="true"> 
     <bitmap android:src="@drawable/btn_check_to_on_mtrl_015" android:tint="?attr/colorControlActivated" android:alpha="?attr/disabledAlpha" /> 
    </item> 
    <item android:state_enabled="false"> 
     <bitmap android:src="@drawable/btn_check_to_on_mtrl_000" android:tint="?attr/colorControlNormal" android:alpha="?attr/disabledAlpha" /> 
    </item> 
    <item android:state_checked="true" android:id="@+id/on"> 
     <bitmap android:src="@drawable/btn_check_to_on_mtrl_015" android:tint="?attr/colorControlActivated" /> 
    </item> 
    <item android:id="@+id/off"> 
     <bitmap android:src="@drawable/btn_check_to_on_mtrl_000" android:tint="?attr/colorControlNormal" /> 
    </item> 
    <transition android:fromId="@+id/off" android:toId="@+id/on"> 
     <animation-list> 
      <item android:duration="15"> 
       <bitmap android:src="@drawable/btn_check_to_on_mtrl_000" android:tint="?attr/colorControlNormal" /> 
      </item> 
      ...additional frames... 
     </animation-list> 
    </transition> 
    <transition android:fromId="@+id/on" android:toId="@+id/off"> 
     <animation-list> 
      <item android:duration="15"> 
       <bitmap android:src="@drawable/btn_check_to_off_mtrl_000" android:tint="?attr/colorControlActivated" /> 
      </item> 
      ...additional frames... 
     </animation-list> 
    </transition> 
</animated-selector> 

信用:Android L "delightful" drawable transformations

欲瞭解更多信息:http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html