1. 程式人生 > >Android同時按下多個按鈕

Android同時按下多個按鈕

關鍵字: 多點觸控, 控制元件, 按鈕, Android, 同時按下 【也許這樣能幫到更多人檢索到??】


很久沒寫博文了,最近在做畢業設計的過程中,碰到了這樣一個問題,之前一直沒遇到過,走了一些彎路,現在寫下來記錄下。


在百度的過程中並沒有看到有相關的解答,而更多的還是帶你走向彎路的。下面進入博文的正題吧。




問題: 實現“百度手柄”的這個多個按鈕,同時點選,即一個按鈕點著不放,另一個按鈕被點選。


實際上,很多人第一反應就是這個東東不是本來android就可以的嗎?然後信誓旦旦地去寫一個Demo之後發現實際上不行。


大家都會去監聽touch事件,然後做處理,你可以發現,你按下的第一個按鈕,之後再按其他的按鈕,其他的按鈕的touch是不會被執行的,而是都走第一個按鈕的touch裡面的處理流程。


緊接著大家去百度,百度大家都跟你解答是用多點觸控, 並且一堆資訊很明確地告訴你要去監聽幾根手指頭點選螢幕....這時候你心裡的答案基本就定型了, 之後開始寫多點觸控的處理流程。


最後你會發現,你自己處理,無比的麻煩,你需要通過 手指的x, y去判斷現在點選的控制元件是什麼。而後你還會遇到一個問題,最後一個手指彈起的事件 並無法監聽到。


說了這麼多,其實最後只需要在這些button的父佈局中,加入一行屬性


android:splitMotionEvents="true"

有人說這個叫做是否支援全域性多點觸控,false為不支援,true為支援。

而我覺得這個就是看是否分流touch事件到各個對應控制元件.


有時候知道得少,便成了時間成本!!