0
我正在開發一個Android應用程序,將在平板電腦屏幕上得到多個接觸。獲取觸摸點與最大的區域被觸摸 - Android
我想知道是否有可能得到最大的區域。例如,如果您用整隻手觸摸屏幕,則面積最大的觸摸點就是拇指。
是否有任何API或函數返回此?
任何幫助表示讚賞!
謝謝!
我正在開發一個Android應用程序,將在平板電腦屏幕上得到多個接觸。獲取觸摸點與最大的區域被觸摸 - Android
我想知道是否有可能得到最大的區域。例如,如果您用整隻手觸摸屏幕,則面積最大的觸摸點就是拇指。
是否有任何API或函數返回此?
任何幫助表示讚賞!
謝謝!
通過重寫活動中的onTouchEvent
監聽器,您可以直接使用觸摸數據。該數據存儲在包含指針大小數據的MotionEvent
對象中。在您的聽衆功能中,您可以獲取所有觸摸點並循環播放。例如,下面的代碼應該通過他們得到的觸摸點的數量,循環,並存儲指針指數面積最大:
@Override
public boolean onTouchEvent(MotionEvent event) {
int largestIndex, largestSize=0; //holds largest point data
for(int i=0; i<event.getPointerCount(); i++){ //loop through each touch point
if(event.getSize(i) > largestSize){ //if this size is greater than the previous largest one
//store the new size and pointer index
largestSize = event.getSize(i);
largestIndex = i;
}
}
//work with the largest touch point here
//you can change this to return true if you're always handling the touchevent completly yourself
return super.onTouchEvent(event);
}
我沒有測試此代碼,但基於對API參考MotionEvents
這應該做你想做的。如果您有興趣,還有更多關於使用多點觸摸事件的信息here。