我試圖創建一個活動,一旦有人在屏幕中間點擊(並保持)按鈕圖像,便會更改背景。一旦按鈕被釋放,應用程序將切換回正常的背景。如何感知是否有人點擊了Android中的區域?
到目前爲止,我已經嘗試在「區域」前面放置一個按鈕來按下並將其可見性設置爲隱形。
有沒有更好的方式來做到這一點?有沒有辦法來感知人放開按鈕? (例如,在按下按鈕做一些東西,當釋放按鈕做其他的東西)
感謝
我試圖創建一個活動,一旦有人在屏幕中間點擊(並保持)按鈕圖像,便會更改背景。一旦按鈕被釋放,應用程序將切換回正常的背景。如何感知是否有人點擊了Android中的區域?
到目前爲止,我已經嘗試在「區域」前面放置一個按鈕來按下並將其可見性設置爲隱形。
有沒有更好的方式來做到這一點?有沒有辦法來感知人放開按鈕? (例如,在按下按鈕做一些東西,當釋放按鈕做其他的東西)
感謝
你想要類似NumberPickerButton和NumberPicker。
您應該在按鈕上長按(setLongClickable(true))。 然後響應onLongClick事件和onTouchEvent,如果操作已啓動。
你的事件處理程序應該是這個樣子:
public boolean onLongClick(View v) {
changeYourBackground();
return true;
}
public boolean onTouchEvent(MotionEvent event) {
if ((event.getAction() == MotionEvent.ACTION_CANCEL)
|| (event.getAction() == MotionEvent.ACTION_UP)) {
putYourBackgroundBack();
}
return super.onTouchEvent(event);
}
你想通過保持一些觀點在中間或空白UI執行該操作
關於正確的聲音,但我想他可能只想實現onTouchEvent(MotionEvent事件),並且如果它是MotionEvent.ACTION_DOWN,則執行changeYourBackground()。這將使圖像立即改變,而不是在長時間點擊延遲之後。 –
如果他想讓圖片在觸摸時改變,那麼您必須按照您所描述的方式進行操作。 –
你可以做到這一點使用canvas.In的是,你可以拍攝圖像顯示在畫布和捕捉的中間區域上的觸摸事件,圖像覆蓋。當用戶觸摸該區域時,更改畫布的背景顏色。
我認爲他需要觸摸時發生變化,並在未按下時恢復原始狀態。您可以使用onTouch偵聽器來處理ontouch和onrelease兩個事件。應該工作正常,不知道確切的android代碼。 –
..? –