亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android應用中是如何獲取手指觸摸位置的

發布時間:2021-01-22 16:54:34 來源:億速云 閱讀:351 作者:Leah 欄目:移動開發

今天就跟大家聊聊有關android應用中是如何獲取手指觸摸位置的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

其原型是:

public boolean onTouchEvent(MotionEvent event)

參數event:參數event為手機屏幕觸摸事件封裝類的對象,其中封裝了該事件的所有信息,例如觸摸的位置、觸摸的類型以及觸摸的時間等。該對象會在用戶觸摸手機屏幕時被創建。

返回值:該方法的返回值機理與鍵盤響應事件的相同,同樣是當已經完整地處理了該事件且不希望其他回調方法再次處理時返回true,否則返回false。

該方法并不像之前介紹過的方法只處理一種事件,一般情況下以下三種情況的事件全部由onTouchEvent方法處理,只是三種情況中的動作值不同。

屏幕被按下:當屏幕被按下時,會自動調用該方法來處理事件,此時MotionEvent.getAction()的值為MotionEvent.ACTION_DOWN,如果在應用程序中需要處理屏幕被按下的事件,只需重新該回調方法,然后在方法中進行動作的判斷即可。

屏幕被抬起:當觸控筆離開屏幕時觸發的事件,該事件同樣需要onTouchEvent方法來捕捉,然后在方法中進行動作判斷。當MotionEvent.getAction()的值為MotionEvent.ACTION_UP時,表示是屏幕被抬起的事件。

在屏幕中拖動:該方法還負責處理觸控筆在屏幕上滑動的事件,同樣是調用MotionEvent.getAction()方法來判斷動作值是否為MotionEvent.ACTION_MOVE再進行處理。
示例代碼如下:

MainActivity.java

package com.example.touchpostionshow; 
 
import android.os.Bundle; 
import android.app.Activity; 
import android.util.Log; 
import android.view.Menu; 
import android.view.MotionEvent; 
import android.widget.EditText; 
 
public class MainActivity extends Activity { 
 public EditText pox,poY,condition; 
  
  
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
   pox = (EditText)findViewById(R.id.editText1); 
   poY = (EditText)findViewById(R.id.editText2); 
   condition = (EditText)findViewById(R.id.editText3); 
   
   
 } 
 
 @Override 
 public boolean onCreateOptionsMenu(Menu menu) { 
  // Inflate the menu; this adds items to the action bar if it is present. 
  getMenuInflater().inflate(R.menu.main, menu); 
  return true; 
 } 
 @Override 
 public boolean onTouchEvent(MotionEvent event) 
 { 
  float x = event.getX(); 
  float y = event.getY(); 
  try 
  { 
   switch(event.getAction()) 
   { 
    case MotionEvent.ACTION_DOWN: pox.setText(""+x);poY.setText(""+y);condition.setText("down");break; 
    case MotionEvent.ACTION_UP:pox.setText(""+x);poY.setText(""+y);condition.setText("up");break; 
    case MotionEvent.ACTION_MOVE:pox.setText(""+x);poY.setText(""+y);condition.setText("move");break; 
   } 
   return true; 
  } 
  catch(Exception e) 
  { 
   Log.v("touch", e.toString()); 
   return false; 
  } 
 } 
 
}

看完上述內容,你們對android應用中是如何獲取手指觸摸位置的有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东宁县| 鸡泽县| 木兰县| 阜新| 通渭县| 太谷县| 寻甸| 德江县| 康平县| 克什克腾旗| 南开区| 潜江市| 佛教| 乐安县| 商洛市| 旺苍县| 营口市| 禹州市| 米脂县| 阿瓦提县| 杭州市| 顺昌县| 泰宁县| 九江县| 隆回县| 苍山县| 平潭县| 缙云县| 崇明县| 宣武区| 久治县| 彭州市| 光山县| 莆田市| 亚东县| 崇义县| 满洲里市| 青海省| 同江市| 邵东县| 安国市|