最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

封裝的android監(jiān)聽手指左右滑動(dòng)屏幕的事件類分享

 更新時(shí)間:2015年05月20日 09:17:02   投稿:junjie  
這篇文章主要介紹了封裝的android監(jiān)聽手指左右滑動(dòng)屏幕的事件類分享,本文分別給出了簡(jiǎn)單處理方法的代碼和封裝好的處理類代碼,需要的朋友可以參考下

左右滑動(dòng)是智能手機(jī)最常用的動(dòng)作,在此簡(jiǎn)單的封裝了一下,以后直接拿來(lái)用就可以了。

簡(jiǎn)單的只需要幾行就可以了,下面那個(gè)類是封裝好了的。

package com.example.test;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.widget.RelativeLayout;

public class MainActivity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);//這里的xml是一個(gè)空白的layout
 
 //需要監(jiān)聽左右滑動(dòng)事件的view
 RelativeLayout view = (RelativeLayout) this.findViewById(R.id.layout);
 
 //setLongClickable是必須的
 view.setLongClickable(true);
 view.setOnTouchListener(new MyGestureListener(this));
 }
 
 /**
 * 繼承GestureListener,重寫left和right方法
 */
 private class MyGestureListener extends GestureListener {
 public MyGestureListener(Context context) {
  super(context);
 }

 @Override
 public boolean left() {
  Log.e("test", "向左滑");
  return super.left();
 }

 @Override
 public boolean right() {
  Log.e("test", "向右滑");
  return super.right();
 }
 }
}


package com.example.test;

import android.content.Context;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.GestureDetector;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.MotionEvent;

/**
 * 實(shí)現(xiàn)監(jiān)聽左右滑動(dòng)的事件,哪個(gè)view需要的時(shí)候直接setOnTouchListener就可以用了
 * @author LinZhiquan
 *
 */
public class GestureListener extends SimpleOnGestureListener implements OnTouchListener {
 /** 左右滑動(dòng)的最短距離 */
 private int distance = 100;
 /** 左右滑動(dòng)的最大速度 */
 private int velocity = 200;
 
 private GestureDetector gestureDetector;
 
 public GestureListener(Context context) {
 super();
 gestureDetector = new GestureDetector(context, this);
 }

 /**
 * 向左滑的時(shí)候調(diào)用的方法,子類應(yīng)該重寫
 * @return
 */
 public boolean left() {
 return false;
 }
 
 /**
 * 向右滑的時(shí)候調(diào)用的方法,子類應(yīng)該重寫
 * @return
 */
 public boolean right() {
 return false;
 }
 
 @Override
 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
  float velocityY) {
 // TODO Auto-generated method stub
 // e1:第1個(gè)ACTION_DOWN MotionEvent
 // e2:最后一個(gè)ACTION_MOVE MotionEvent
 // velocityX:X軸上的移動(dòng)速度(像素/秒)
 // velocityY:Y軸上的移動(dòng)速度(像素/秒)

 // 向左滑
 if (e1.getX() - e2.getX() > distance
  && Math.abs(velocityX) > velocity) {
  left();
 }
 // 向右滑
 if (e2.getX() - e1.getX() > distance
  && Math.abs(velocityX) > velocity) {
  right();
 }
 return false;
 }

 @Override
 public boolean onTouch(View v, MotionEvent event) {
 // TODO Auto-generated method stub
 gestureDetector.onTouchEvent(event);
 return false;
 }

 public int getDistance() {
 return distance;
 }

 public void setDistance(int distance) {
 this.distance = distance;
 }

 public int getVelocity() {
 return velocity;
 }

 public void setVelocity(int velocity) {
 this.velocity = velocity;
 }

 public GestureDetector getGestureDetector() {
 return gestureDetector;
 }

 public void setGestureDetector(GestureDetector gestureDetector) {
 this.gestureDetector = gestureDetector;
 }
}

相關(guān)文章

  • Flutter中漸變色的使用案例分享

    Flutter中漸變色的使用案例分享

    在日常的開發(fā)中,UI為了讓界面更加吸引人往往會(huì)在界面上用到大量的漸變色,本文將通過(guò)幾個(gè)案例更好的去了解Flutter中漸變色的使用,需要的可以參考一下
    2023-06-06
  • 完美解決android M上鎖屏情況下,禁止pc通過(guò)MTP訪問(wèn)手機(jī)存儲(chǔ)單元

    完美解決android M上鎖屏情況下,禁止pc通過(guò)MTP訪問(wèn)手機(jī)存儲(chǔ)單元

    下面小編就為大家?guī)?lái)一篇完美解決android M上鎖屏情況下,禁止pc通過(guò)MTP訪問(wèn)手機(jī)存儲(chǔ)單元。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • 深入Android SQLite 事務(wù)處理詳解

    深入Android SQLite 事務(wù)處理詳解

    本篇文章是對(duì)Android中SQLite 事務(wù)處理進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下
    2013-05-05
  • Android短信發(fā)送器實(shí)現(xiàn)方法

    Android短信發(fā)送器實(shí)現(xiàn)方法

    這篇文章主要介紹了Android短信發(fā)送器實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了Android短信發(fā)送器從界面布局到功能實(shí)現(xiàn)的完整步驟與相關(guān)技巧,需要的朋友可以參考下
    2015-09-09
  • Android架構(gòu)組件LiveData使用詳解

    Android架構(gòu)組件LiveData使用詳解

    這篇文章主要介紹了Android架構(gòu)組件LiveData使用詳解的相關(guān)資料,需要的朋友可以參考下
    2023-07-07
  • Android開發(fā)之Gradle?進(jìn)階Tasks深入了解

    Android開發(fā)之Gradle?進(jìn)階Tasks深入了解

    這篇文章主要為大家介紹了Android開發(fā)之Gradle?進(jìn)階Tasks深入了解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Android中Fragmen首選項(xiàng)使用自定義的ListPreference的方法

    Android中Fragmen首選項(xiàng)使用自定義的ListPreference的方法

    Android中Fragmen的首選項(xiàng)可以使用自定義的ListPreference,這樣Fragment的PreferenceFragment就可以更方便地保存配置信息,需要的朋友可以參考下
    2016-05-05
  • Android無(wú)需root實(shí)現(xiàn)apk的靜默安裝

    Android無(wú)需root實(shí)現(xiàn)apk的靜默安裝

    這篇文章主要介紹了Android無(wú)需root實(shí)現(xiàn)apk的靜默安裝 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Android自定義柱狀圖表的方法實(shí)例

    Android自定義柱狀圖表的方法實(shí)例

    柱狀圖是我們?cè)谌粘i_發(fā)中經(jīng)常會(huì)用到的一種圖表,下面這篇文章主要給大家介紹了關(guān)于Android如何自定義柱狀圖表的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-05-05
  • 一文帶你了解Android系統(tǒng)的啟動(dòng)流程

    一文帶你了解Android系統(tǒng)的啟動(dòng)流程

    Android系統(tǒng)的啟動(dòng)是一個(gè)復(fù)雜的過(guò)程,涉及到多個(gè)階段和組件,所以本文將給大家詳細(xì)的介紹一下Android系統(tǒng)的啟動(dòng)流程,文中也有圖片和代碼示例的講解,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

青河县| 甘孜| 利津县| 新疆| 平远县| 安岳县| 尉氏县| 淳化县| 遂宁市| 杂多县| 江北区| 三河市| 新民市| 伊通| 江北区| 同江市| 原平市| 铜川市| 新丰县| 漳平市| 江川县| 乌海市| 龙州县| 句容市| 惠东县| 丹凤县| 桐乡市| 玉溪市| 石首市| 昌黎县| 长顺县| 嘉义县| 高碑店市| 合山市| 蓝田县| 会宁县| 高雄县| 双桥区| 五指山市| 鲜城| 永安市|