Android onTouch 方法 和onTouchEvent 方法
生活随笔
收集整理的這篇文章主要介紹了
Android onTouch 方法 和onTouchEvent 方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
onTouch 是將觸摸屏運動事件傳遞到目標視圖,或查看是否是目標。‘
onTouch方法是view設置觸摸時間的方法,結合OnTouchListener 使用,
下面是常見的2中按壓的方法,
public class MainActivity extends AppCompatActivity implements View.OnTouchListener {private LinearLayout linearLayout;private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 方法一linearLayout = findViewById(R.id.main);linearLayout.setOnTouchListener(this);// 方法二button = findViewById(R.id.btn);button.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {if (event.getAction() == MotionEvent.ACTION_DOWN) {Toast.makeText(MainActivity.this, "按壓了", Toast.LENGTH_SHORT).show();}return false;}});}@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:Toast.makeText(this, "按壓了屏幕", Toast.LENGTH_SHORT).show();break;}return false;}
}
其實? ?MotionEvent有很多情況,ACTION_UP,ACTION_MOVE,ACTION_CANCEL等,寫的時候會有提示的,字母就可以看出作用呢,就不再說了,
onTouchEvent
onTouchEvent方法是override 的Activity的方法。重新了Activity的onTouchEvent方法后,
當屏幕有touch事件時,此方法就會別調用
比如下面的代碼觸摸屏幕就會調用Toast --(onTouchEvent 在事件分發(fā)中處理activity和view 的,一般用在自定義view 中比較多一些,)
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onTouchEvent(MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:Toast.makeText(this, "按壓了屏幕", Toast.LENGTH_SHORT).show();break;}return true;}}
?
總結
以上是生活随笔為你收集整理的Android onTouch 方法 和onTouchEvent 方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泰国游多少钱啊?
- 下一篇: 莫忘初心下一句是什么呢?