2011-08-12 63 views
0

我有一個圖像,但我想知道如何我可以有這個圖像更改爲另一個時,用戶手指與屏幕接觸,然後恢復到舊圖像時他們的手指離開。Android:改變圖像時,點擊,然後恢復

我很想學習這一點,並嘗試點擊監聽器的方法,但我只能真正使圖像永久變化,即使如此,它的效果很差。那麼有人可以幫我解決這個問題嗎?

回答

0

是應與一個國家名單這是一種可繪製的,而您可以定義不同的狀態不同的其他可繪製(其中「壓」,「專注」,選擇」等)工作:

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

注意的是,項目的順序是非常重要的,並且默認的繪製應最後在選擇項目列表被放在例:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable_resource_pressed" android:state_pressed="true"> 
    <item android:drawable="@drawable_resource_regular"> 
</selector> 
0

你所需要的就是一個OnTouchListener註冊。至 當圖像應該改變時您想要觸摸的視圖(例如,通過​​保存圖像本身的ImageView)。

該聽衆有一個回撥onTouch,提供給您一個MotionEvent。 使用MotionEvent.getAction()並測試它是否等於MotionEvent.ACTION_DOWNMotionEvent.ACTION_UP。這些是用戶按下視圖(向下)或釋放按下(向上)時的相應事件。 只需做出相應的反應,並將圖像設置爲您的ImageView

編輯:另一篇文章中提到的狀態列表也可以工作,並且當您想要通過觸摸來更改圖片時,可能會有更優雅的解決方案(因爲它在後臺爲您完成了所有操作)。

這仍然是有用的知道,你會在遲早需要它在別的地方。例如,當您想通過按另一個視圖而不是圖像本身來更改圖像時。

相關問題