簡體   English   中英

觸摸事件問題

[英]Problems with touch event

說到事件,我們知道觸摸屏方法onTouchEvent(MotionEvent events)允許您捕獲屏幕上的觸摸事件,並且event.getX()event.getY()給我觸摸的坐標為浮點值(即用逗號分隔的值)。
具體來說,我意識到在移動電話屏幕上使用固定點的手指獲取logcat而不移動它,不僅可以感知事件,而且MotionEvent.ACTION_DOWN MotionEvent.ACTION_MOVE和返回的坐標是多方面的。 我可以理解這一點,因為通過讀取設備坐標,手指的表面可以觸摸更多的點,並且可以觸摸更多的點,因此手指在握住手指的同時可以移動。

我的問題是,當我不動手指時,我會讀取彩色圖像中一個像素的顏色。 我特別需要手指占據的中央區域。 首先,假設您有一個Bitmap對象,由於整個Bitmap的getPixel(intX,int y)坐標要返回像素顏色,因此我必須舍入到觸摸的整數坐標。
那我如何獲得觸摸的中心點? 是否有可以幫助我的功能? 請記住,當我停止並讀取圖像上像素的值時,盡管我總是記錄中心像素的每一次移動,但我開始緩慢移動。 我之所以需要這樣做,是因為如果您以像素為單位更改圖像的顏色,那么我想動一下還是不動一下設備。
如果我可以停止在動態數組中考慮自己來存儲不同像素的坐標並搜索重心,但是移動,我將不知所措。 但是,我認為,如果研究重心不能很好地完成,可能會在移動過程中變慢,從而導致錯誤的結果。 如果CG對我來說還不夠,那就屬於環境。
我希望您可以通過草繪幾行代碼來幫助我。 提前致謝。

要獲取手指的觸摸位置,只需將getX()getY()為int並執行所需的任務。

public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN ) {
      getPixelAt((int)event.getX(), (int)event.getY());
    }
}

當您想觸摸事件發生時,可以將您置於主要活動類中。 讓我們看看您是否可以放置以下代碼? 回報也是最重要的。

@Override
     public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
    mDistanceX = 0;
  }
  return super.onTouchEvent(event);
     }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM