我有一個酒吧與幾個ImageViews,他們每個人都用作一個按鈕(通過使用OnClickListener)。現在我想要實現的是,當用戶按下圖像時,圖像周圍會出現某種發光效果(就像在iPhone上按barButton時一樣)。Android:動畫圖像?
這可能嗎?
我有一個酒吧與幾個ImageViews,他們每個人都用作一個按鈕(通過使用OnClickListener)。現在我想要實現的是,當用戶按下圖像時,圖像周圍會出現某種發光效果(就像在iPhone上按barButton時一樣)。Android:動畫圖像?
這可能嗎?
這是可能的。達到此目的的正確方法是定義一個StateList Drawable。
狀態列表爲每個狀態定義一個單獨的drawable。
例如下面的XML定義了一可拉伸表示如果按鈕按下blue_button_pressed繪製和在所有其他情況下,可繪製blue_button_active。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/blue_button_pressed"/>
<item
android:drawable="@drawable/blue_button_active"/>
</selector>
你把這個文件中的文件夾繪製像任何其他圖像,也引用它的佈局文件像任何其他繪製。
您可以手動生成此發光效果作爲背景圖片,並使其在單擊時顯示爲實際圖像背後的父視圖。但我不認爲有任何本地功能。
儘管出於某種原因,大多數視圖實際上並沒有動畫動畫可繪製。要做到這一點,你必須通過調用AnimationDrawable
的start()
方法(或Animatable
,對於這個問題)手動啓動動畫。
雖然將Drawable
設置爲View
後,您不能立即執行此操作,但出於某種奇怪的原因。相反,你可以嘗試發佈開始通話的處理程序,使存在Drawable
和初始設置其動畫的開始之間的一段時間。
沒有時間找出爲什麼它的行爲這樣還,但它是我最後不得不做的事。
好的,但是這意味着我將不得不手動創建2個圖像。那裏沒有內置的動畫嗎? – Alex1987 2011-02-15 11:56:29