<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 工業控制產品 > 自動化控制 > 工業觸摸屏

      類型分類:
      科普知識
      數據分類:
      工業觸摸屏

      解析Android系統多點觸摸屏基本原理

      發布日期:2022-10-09 點擊率:40

          最近想在項目中實現多指操作,可惜android原生的sdk對多指的支持不太好,只能自己寫了。

          在android的中,MotionEvent event代表的是一個觸摸事件。我們對屏幕的幾乎所有操作都會觸發該事件,如點擊、放開、滑動等。不同的事件在MotionEvent中有不同的id,根據id的不同可以判斷觸摸事件屬于哪個手指。我們還可以根據event.getAction() & MotionEvent.ACTION_MASK的結果來判斷是何種事件,是ACTION_DOWN、ACTION_UP還是ACTION_MOVE。下面介紹下我們將使用到的五個操作:

          MotionEvent.ACTION_DOWN:在第一個點被按下時觸發

          MotionEvent.ACTION_UP:當屏幕上唯一的點被放開時觸發

          MotionEvent.ACTION_POINTER_DOWN:當屏幕上已經有一個點被按住,此時再按下其他點時觸發。

          MotionEvent.ACTION_POINTER_UP:當屏幕上有多個點被按住,松開其中一個點時觸發(即非最后一個點被放開時)。

          MotionEvent.ACTION_MOVE:當有點在屏幕上移動時觸發。值得注意的是,由于它的靈敏度很高,而我們的手指又不可能完全靜止(即使我們感覺不到移動,但其實我們的手指也在不停地抖動),所以實際的情況是,基本上只要有點在屏幕上,此事件就會一直不停地被觸發。

          舉例來講:當我們放一個食指到屏幕上時,觸發ACTION_DOWN事件;再放一個拇指到屏幕上,觸發ACTION_POINTER_DOWN事件;此時再把食指或拇指放開,都會觸發ACTION_POINTER_UP事件;再放開最后一個手指,觸發ACTION_UP事件;而同時在整個過程中,ACTION_MOVE事件會一直不停地被觸發。

          根據上面這些原理,就可以判斷在觸摸過程中有多少個手指在屏幕上:

          switch (event.getAction() & MotionEvent.ACTION_MASK) {

          case MotionEvent.ACTION_DOWN:

          mode = 1;

          break;

          case MotionEvent.ACTION_UP:

          mode = 0;

          break;

          case MotionEvent.ACTION_POINTER_UP:

          mode -= 1;

          break;

          case MotionEvent.ACTION_POINTER_DOWN:

          mode += 1;

          break;

          }假如現在有兩個手指在觸摸屏上,可通過如下方法分別獲得這兩個觸摸點的位置:

          float x1 = event.getX(0);

          float y1 = event.getY(0);

          float x2 = event.getX(1);

          float y2 = event.getY(2);上面大體就是多指觸摸的基本原理了。要在這個基礎之上實現多指觸摸,還有很長的路要走。

       


      下一篇: PLC、DCS、FCS三大控

      上一篇: 分析in-cell與on-cell

      主站蜘蛛池模板: 色婷婷久久综合中文久久一本`| 无码专区久久综合久中文字幕| 99久久综合久中文字幕| 色噜噜狠狠成人中文综合| 99久久综合给久久精品| 亚洲人成综合网站7777香蕉| 一本久道综合在线无码人妻| 色噜噜狠狠色综合中国| 色综合久久综合中文综合网| 一个色综合国产色综合| 亚洲高清无码综合性爱视频| 伊人青青综合网站| 成人伊人亚洲人综合网站222| 中文字幕亚洲综合精品一区| 丁香婷婷激情综合俺也去| 亚洲综合在线另类色区奇米| 亚洲欧美综合精品成人导航| 亚洲国产综合精品中文第一区| 色悠久久久久久久综合网伊人| 久久综合给合久久狠狠狠97色69| 丁香伊人五月综合激激激| 色综合久久久无码中文字幕| 国产亚洲综合网曝门系列| 狠狠色噜噜狠狠狠狠色吗综合| 天天色天天射综合网| 亚洲国产精品成人综合色在线婷婷 | 伊人yinren6综合网色狠狠| 狠狠色狠狠色综合日日不卡| 尹人久久大香找蕉综合影院| 色综合久久久久综合99| 久久亚洲伊人中字综合精品| 国产成人亚洲综合| 丁香伊人五月综合激激激| 一本综合久久国产二区| 色噜噜狠狠色综合中国| 日日狠狠久久偷偷色综合0| 色综合久久88色综合天天 | 成人伊人亚洲人综合网站222| 色老头综合免费视频| 亚洲综合伊人久久大杳蕉| 91精品国产综合久久香蕉|