2011-11-24 98 views
0

美好的一天!Like Android for Android

我試圖在實現語音爲Android(如iPhone),而是一個特定的應用程序(而不是整個操作系統)

想象一下,六個按鍵的屏幕,所以他們佔據了整個活動,分佈式大小相同。

當我用手指在屏幕上「走動」時,我想將焦點放在按鈕上,並在按鈕具有焦點並讓焦點進行拍攝時捕捉事件。

結論:當我在屏幕上輕彈時,如果它在一個按鈕上,焦點按鈕。如果我繼續拖動手指,請將焦點放在另一個按鈕上,而不要將手指從屏幕上移開。

任何人都可以幫助我嗎?對不起,英文不好。

回答

0

那麼你必須知道按鈕的位置。您可以使用基本視圖功能來獲取職位(getLeft()等等)。

之後,您必須對Activity的事件觸發onTouchListner。您必須檢查Event.x和Event.y指針的位置,並將指定的視圖設置爲foucs。指針從指定視圖移動後,您將焦點設置爲false。

+0

請告訴我更多詳細信息... – Mateus

+0

爲rootView設置ontouch列表程序,並在其中使用event.getRawY()和event.getRawX()。這會讓你知道觸摸發生在哪裏。你必須編寫自己的函數來檢查事件是否發生在基於getLeft(),getTop()和其他函數的按鈕中。之後,您可以使用按鈕的setPressed(true)函數。此外,在觸摸列表中,您必須確定事件是ACTION_DOWN還是ACTION_UP。首先你將使用setpressed(true)來查看第二個將使用setpressed(false)的對象。尋找一些觸摸事件教程 –

1

我不認爲你可以爲此使用Android Button類,而是做一個自定義視圖,繪製六個矩形,然後編寫一個onTouchEvent方法,根據用戶的手指位置確定播放什麼聲音。有關您可以使用的一些代碼,請參閱http://pragprog.com/book/eband3/hello-android的Sudokuv4示例。