android判斷view
Ⅰ android 判斷view是否有設置了點擊事件
在對一個VIEW注冊單擊事件監聽後,onTouchEvent中是無法接收到該VIEW中的DOWN事件的,這其中有著一個事件傳遞的過程,介意你可以去查下,提供你一個解決方法:你可以使用setOnTouchListener來處理這個ImageView的點擊事件,OnTouchListener裡面的方法onTouch是有返回值的,返回true則說明已處理完畢不會再繼續傳遞這個事件;返回false則說明未處理完畢需要繼續傳遞這個事件,按你現在的問題,你應當返回false。
Ⅱ android中的View是做什麼的
View類是Android的一個超類,這個類幾乎包含了所有的屏幕類型。每一個View都有一個用於繪圖的畫布,這個畫布可以進行任意擴展。在游戲開發中葉可以自定義視圖(View),這個畫布的功能更能滿足我們在游戲開發中的需要。在Android中,任何一個View類都只需重寫onDraw 方法來實現界面顯示,自定義的視圖可以是復雜的3D實現,也可以是非常簡單的文本形式等。
游戲中最重要的就是需要與玩家交互,比如鍵盤輸入、觸筆點擊事件,我們如何來處理這些事件呢?Android中提供了 onKeyUp、onKeyDown、onKeyMultiple、onKeyPreIme、onTouchEvent、onTrackballEvent等方法,可以輕松地處理游戲中的事件信息。所以,在繼承View時,需要重載這幾個方法,當有按鍵按下或彈起等事件時,按鍵代碼自動會傳輸給這些相應的方法來處理。
游戲的核心是不斷地繪圖和刷新界面,圖我們已經通過onDraw 方法繪制了,下面來分析如何刷新界面。Android中提供了 invalidate 方法來實現界面刷新,注意,invalidate 不能直接在線程中調用, 就是不可以在子線程中調用明白乎?因為它違背了 Android的單線程模型:Android UI操作並不是線程安全的,並且這些操作必須在UI 線程中執行,因此Android中最常用的方法就是利用Handler來實現UI線程的更新。 其實用 AsyncTask 也可以。