精华内容
下载资源
问答
  • 滑屏

    2014-11-16 22:32:39
    http://www.360doc.com/content/13/1219/17/11537979_338452322.shtml

    http://www.360doc.com/content/13/1219/17/11537979_338452322.shtml


    上一章 我们学习了 android 简单的触摸屏操作  那这一章我们来看看 android 的手势操作 
     android的手势识别是android更人性化,让我们的操作更简单, 其实我们日常应用中不少地方都使用了手势识别方法  比如 2011年那么火的 愤怒的小鸟 中的 发射武器, uc 游览器 的左右滑动功能,这都是可以使用android的手势识别来实现。 
     
     如果想要实现提高我们app 的用户体验,更具有可操作性,那这时android的GestureDetector 就派上用场了 ,  我们先开看看GestureDetector这个类的api 给我们提供了哪些操作
    下面是GestureDetector 这个类的概括情况
    根据 MotionEvent事件检测各种手势. GestureDetector.OnGestureListener 回调函数用于通知用户发生的手势动作。该类仅处理 MotionEvent 事件中的触摸事件(不处理轨迹球事件)。 使用该类的方法如下:
    1:首先需要在初始化的时候创建GestureDetector对象实例
     
     
    2:在View中的onTouchEvent方法中调用GestureDetector对象中的onTouchEvent方法当事件发生的时候就可以回调该方法
     
     
    下面看看摘自android 的api 的摘要
    interface GestureDetector.OnDoubleTapListener
    The listener that is used to notify when a double-tap or a confirmed single-tap occur.
    interface GestureDetector.OnGestureListener
    The listener that is used to notify when gestures occur.
    class GestureDetector.SimpleOnGestureListener
    A convenience class to extend when you only want to listen for a subset of all the gestures.
     
     
     
    现在我们来分析下GestureDetector这个类的概括情况 
     
     
    接口 OnDoubleTapListener   手势监听器  用于双击时发出通知
    接口 OnGestureListener     手势监听器 用于发送手势操作时发生通知 如 拖动,长按,按下,弹起 等手势操作
    类   SimpleOnGestureListener    GestureDetector的扩展类  这个类的作用是当我们只想使用部分手势时, 而非全部的时候 就可以继承这个类
    GestureDetector 还有几个公共方法 如下
    boolean isLongpressEnabled()  判定是否允许长点击

    boolean onTouchEvent(MotionEvent ev)
    分析给定的动作事件,如果满足条件,就触发GestureDetector.OnGestureListener 中提供的回调函数。

    void setIsLongpressEnabled(boolean isLongpressEnabled)
    设置是否允许长按。如果允许长按,当用户按下并保持按下状态时, 将收到一个长按事件,同时不再接收其它事件;如果禁用长按, 当用户按下并保持按下状态然后再移动手指时,将会接收到滚动事件。 长按默认为允许。
    void setOnDoubleTapListener(GestureDetector.OnDoubleTapListener onDoubleTapListener)
    设置双击及其相关手势的监听器。
     
    OnGestureListener 接口 的公共方法  如果你想在你的app view中实现下面这些手势操作的话 继承该接口 并实现下面这些方法即可
    abstract boolean onDown(MotionEvent e)
    当轻触手势按下屏幕 时发生的事件.
    abstract boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
    快速滑动后抬起事件的通知.
    abstract void onLongPress(MotionEvent e)
    长按时的通知事件
    abstract boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
    滑动屏幕时通知事件 为了方便提供了X轴和Y轴上的滚动距离.
    abstract void onShowPress(MotionEvent e)
    当用户长点击后抬起时通知事件
    abstract boolean onSingleTapUp(MotionEvent e)
    当轻触手势抬起屏幕时发生的事件.
    OnDoubleTapListener 接口的公共方法
    abstract boolean onDoubleTap(MotionEvent e)
    双击发生时的通知。
    abstract boolean onDoubleTapEvent(MotionEvent e)
    双击手势过程中发生的事件,包括按下、移动和抬起事件。
    abstract boolean onSingleTapConfirmed(MotionEvent e)
    发生确定的单击时执行。
    与onSingleTapUp(MotionEvent)不同, 该事件在探测器确定用户单击后没有发生导致双击事件的第二次单击时发生。

    在实际应用中 我们根据我们所需要的功能实现不同的接口 或者 继承自SimpleOnGestureListener 类 只实现部分个人需要的方法 就可以了
    我们这一章就以  OnGestureListener 接口来做示例 看看 他是怎么使用的
     直接看代码 GameSurfaceView类
     
    package yxqz.com;

    import android.content.Context;
    import android.content.DialogInterface;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.util.Log;
    import android.view.GestureDetector;
    import android.view.GestureDetector.OnGestureListener;
    import android.view.MotionEvent;
    import android.view.SurfaceHolder;
    import android.view.SurfaceView;
    import android.view.SurfaceHolder.Callback;
    import android.widget.Toast;

    /**
     * android 手势识别
     * @author mahaile
     *
     */
    public class GameSurfaceView extends SurfaceView implements Callback,OnGestureListener{
     

     private String TAG="GameView";

     boolean flag; //线程标示位 当为false时停止刷新界面
     SurfaceHolder surfaceHolder;
     GameViewThread gameViewThread;
     float x=0,y=0;
     int stat=0;  //手势识别状态标示
     private GestureDetector gd; // 手势
     Context context;
     int width,height;
     Bitmap bitmap_role;
     
     public GameSurfaceView(Context context) {
      super(context);
      this.context=context;
      surfaceHolder=this.getHolder();
      surfaceHolder.addCallback(this); //添加回调
      
      //设置焦点 如果不设置焦点的话 在该界面下 点击触摸屏是无效的 默认为false
      setFocusableInTouchMode(true);
      bitmap_role=BitmapFactory.decodeResource(getResources(), R.drawable.role);
      gd=new GestureDetector(this);   //创建手势监听对象
     }
     
     public void onDraw(Canvas canvas){
      canvas.drawColor(Color.BLACK);
      //canvas.drawBitmap(bitmap_role, width/2-bitmap_role.getWidth()/2, y, null);
      canvas.drawBitmap(bitmap_role, x-bitmap_role.getWidth()/2, y-bitmap_role.getHeight()/2, null);
     }
        //重写父类中的 onTouchEvent就可以监听到  触摸事件了 记住要设置焦点喔
     @Override
     public boolean onTouchEvent(MotionEvent event) {
      gd.onTouchEvent(event); //通知手势识别方法
      return true;
     }
     
     public void surfaceChanged(SurfaceHolder surfaceHolder, int format, int width, int height) {
      
     }

     public void surfaceCreated(SurfaceHolder surfaceHolder) {
      //获取屏幕的 宽高 只有在 surface创建的时候 才有效 ,才构造方法中获取 宽高是获取不到的
      width=this.getWidth();
      height=this.getHeight();
      //初始化绘图线程
      gameViewThread=new GameViewThread();
      gameViewThread.flag=true;
      gameViewThread.start();
     }

     public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
      gameViewThread.flag=false; //销毁线程
     }

     
     class GameViewThread extends Thread{
      public boolean flag;
      public void run(){
       while(flag){
        Canvas canvas=null;
        try{
         canvas=surfaceHolder.lockCanvas(); //锁定画布 并获取canvas
         onDraw(canvas);//调用onDraw 渲染到屏幕
         surfaceHolder.unlockCanvasAndPost(canvas); //此步不要忘记了喔 否则界面上显示不出来的
        }catch(Exception e){
         e.printStackTrace();
        }
        
        try {
         Thread.sleep(10);//线程休眠时间  控制帧数
        } catch (InterruptedException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
        }  //每一秒刷新一次   
       }
      }
     }
     
        //**************************下面是手势识别的重写方法*******************************************
     //屏幕点下
     public boolean onDown(MotionEvent arg0) {
      Log.d(TAG, "onDown");
      Toast.makeText(this.context, "你点击了屏幕", Toast.LENGTH_SHORT).show();
      return false;
     }
     //屏幕点下
     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
       float velocityY) {
      Log.d(TAG, "onFling");
      Toast.makeText(this.context, "你拖动屏幕后弹起", Toast.LENGTH_SHORT).show();
      return false;
     }
       //屏幕点下 并长按时触发
     public void onLongPress(MotionEvent e) {
      Log.d(TAG, "onLongPress");
      Toast.makeText(this.context, "你长按了屏幕", Toast.LENGTH_SHORT).show();
      
     }
        //屏幕拖动
     public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
       float distanceY) {
      this.x=this.x-distanceX;
      this.y=this.y-distanceY;
      Toast.makeText(this.context, "你拖动了屏幕", Toast.LENGTH_SHORT).show();
      return false;
     }
       //屏幕长按
     public void onShowPress(MotionEvent e) {
      // TODO Auto-generated method stub
      Toast.makeText(this.context, "你长按屏幕后弹起", Toast.LENGTH_SHORT).show();
      Log.d(TAG, "onShowPress");
     }
       //屏幕点击后弹起
     public boolean onSingleTapUp(MotionEvent e) {
        Log.d(TAG, "onSingleTapUp");
        Toast.makeText(this.context, "你弹起屏幕", Toast.LENGTH_SHORT).show();
      return false;
     }
    }
    有一点大家需要注意一下 每次执行手势时 可以会执行多个手势通知 大家需要留意一下喔,避免重复操作app逻辑
    上面的代码中 红色部分标示了 手势识别的主要部分  大家赶快加到自己的app 里面吧 让自己的app 更有吸引力  其他两种种方式 和这种很类似,各位童鞋可以自己试试喔

    在后续的过程中 我们会有一章 游戏地图 介绍  的章节 , 那时我们使用手势识别来拖动地图
     
    欢迎各位童鞋 来拍砖喔,,有啥不懂的地方留言给我喔 一起学习 共同进步  加油 。。

    下面是源码地址:http://up.2cto.com/2012/0417/20120417100317341.rar


    展开全文
  • Android中滑屏实现

    千次下载 热门讨论 2012-04-01 23:27:10
    Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解
  • ViewPager滑屏

    2016-10-29 17:01:32
    简单用viewpager+pageradapter实现滑屏
  • android 滑屏

    2012-02-27 16:14:12
    分别以两种方式实现滑屏 一是 重写ViewGroup 二是 使用viewPager 如果 你对滑屏不是很了解 看这个 包学包会
  • Android 滑屏

    2013-04-11 11:50:37
    功能: 实现滑屏效果,第一页只显示部分,其他页显示全部
  • 滑屏框架

    2019-10-04 00:49:59
    适合上下滑屏、左右滑屏滑屏切换页面的效果 slip.js iSlider.js fullpage.js swiper.js 转载于:https://www.cnblogs.com/stella1024/p/7152057.html

    适合上下滑屏、左右滑屏等滑屏切换页面的效果

    slip.js

    iSlider.js

    fullpage.js

    swiper.js

    转载于:https://www.cnblogs.com/stella1024/p/7152057.html

    展开全文
  • Auto.JS实现抖音,刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频 代码如下 auto(); var appName=rawInput("","刷宝短视频"); launchApp(appName); sleep("5000"); setScreenMetrics(1080,1920); toast(...

    Auto.js 是个基于 JavaScript 语言运行在Android平台上的脚本框架。Auto.js主要工作原理是基于辅助服务AccessibilityService。
    Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵一样,可以通过代码模拟一系列界面动作的辅助工作。
    因为是开源框架所以安全性很高,他能在手机上模拟人的重复繁琐的工作,不打破被执行的APP规则,不修改,不破坏被执行的APP,可以放心使用

    1.手机下载Auto.JS

    打开,开启无障碍模式
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2、新建文件

    写入以下代码,点击运行,前提你得下载对应的APP
    代码适应大部分屏幕,打开后如果没法自动下滑的修改swipe(device.width/2,1300,device.width/2,300,2000);这句代码里1300和2000的值,二者间隔调大一点,如:swipe(device.width/2,1000,device.width/2,300,2200);或者其他值,进行测试。

    代码如下

    auto();
    var appName=rawInput("","刷宝短视频");
    launchApp(appName);
    sleep("5000");
    setScreenMetrics(1080,1920);
    
    sleep("3000");
    var num = 2000;
    while(num>1){
        swipe(device.width/2,1300,device.width/2,300,2000);
        sleep(10000);
    }
    

    以上代码发现不适用所有手机屏幕,有些手机会划到一半弹回去了,于是我苦思疾想又重新写了一个适用所有机型的代码

    auto();
    var appName=rawInput("","刷宝短视频");
    launchApp(appName);
    sleep("8000");
    setScreenMetrics(1080,1920);
    toast("需要Auto.JS安装包的先点关注再加我QQ1023732997");
    sleep(3000);
    var num=2000;//切换2000个视频,可自行调整
     a=1;
    while(num>1){
        id("tv_tab_title").className("android.widget.TextView").text("首页").findOne().parent().parent().click();
        if(a%3==0){
        var zan=id("image_view").findOne();
        sleep(1000);
        toast ("点赞提高活跃度");
        sleep(1000);
        click(zan.bounds().centerX(),zan.bounds.centerY());
    }
    sleep(10000);//每隔十秒下滑一个视频,可自行调整
    }
    
    

    3、保存运行

    在这里插入图片描述
    运行弹出这里输入要执行的APP名字,点确定。就会自动打开对应的APP,每隔十秒会下滑一个视频。

    对学习程序感兴趣的朋友

     /**
         * 700G+学习资料(压缩上传百度网盘后)
         * 大厂面试集合 企鹅 阿里 小米 华为 百度
         * 热门编程语言 JAVA Python PHP C C++ C# 汇编 GO Scala Kotlin
         * 热门框架 VUE spingboot springcloud ssm ssh eschop node.js
         * 前端开发 安卓 IOS 小程序 公众号 web
         * 大数据 Spark zoopkeeper Hadoop redis 分布式集群 Docker+k8s
         * 经典算法源码 数据架构设计 网络安全 黑客攻防 设计模式
         * 实战案例
         * OA项目开发合集 商城类项目合集(多分布式)ssm项目实战 ES6开发电商网站账号体系
         * eschop从基本到二次开发 安卓直播APP开发 安卓开发之百度APP实战开发
         * Springboot微信点餐系统 Spring团购案例 Java高性能并发实战-秒杀商城项目
         * 前端项目之秒杀商城项目 Angular仿拉勾网 React.js开发移动端新闻平台
         * Vue.js高仿饿了么APP开发 7款算法经典游戏开发
         * 
         */
    
    
    展开全文
  • 实现滑屏效果

    2016-04-15 14:01:28
    关于QQ最新版本滑屏效果实现的android源码,可以实现QQ从聊天界面到设置界面滑动显示效果,以及底部Tab效果
  • 手机滑屏swipe

    2015-08-06 09:22:10
    一款很好用的手机滑屏插件/引用后直接实现手机广告自动轮播
  • Android ViewPager滑屏

    2014-04-22 12:58:34
    Android ViewPager滑屏,可循环滑动。
  • android 滑屏滚动

    2012-05-14 17:54:50
    android 滑屏滚动
  • 手动滑屏翻转图片.rar

    2020-07-20 18:35:15
    手动滑屏翻转图片.rar
  • 无缝滑屏

    2020-11-15 23:14:57
    无缝滑屏HTML界面代码CSS样式代码(可供参考)用到的transform组件的代码damu组件代码(网络上有,不想打的可以自行查询) HTML界面代码 image 只要选自己喜欢的合适的,但相应的css代码也要做相应的更改 CSS样式...

    HTML界面代码

    在这里插入图片描述
    image 只要选自己喜欢的合适的,但相应的css代码也要做相应的更改

    CSS样式代码(可供参考)

    在这里插入图片描述
    定位的小圆点颜色,可根据自己喜欢的来调 只要配色你觉的好看即可

    用到的transform组件的代码

    在这里插入图片描述

    damu组件代码(网络上有,不想打的可以自行查询)

    在这里插入图片描述
    不过要认真理解哦

    第一次写博客,还在摸索中,突然发现写的注释有点少,下次会尽量多写一些的,不足之处,请多多包含。。。

    展开全文
  • android滑屏功能

    2014-12-04 04:30:15
    简单的滑屏功能,易修改,很实用,可用于游戏,界面等
  • android滑屏程序

    2014-11-16 21:26:50
    此程序是android滑屏,可以任意添加界面,使用灵活,代码简练
  • js滑屏事件

    2013-06-27 23:22:12
    滑屏事件
  • 左右滑屏切换

    2014-02-20 16:31:21
    android实现左右滑屏的实例,供参考。
  • 移动端滑屏效果

    2015-01-14 17:23:23
    类似于手机系统,向左向右滑屏,当手指大于20px时,显示下一部分的内容,
  • android 左右滑屏

    2012-10-31 13:04:07
    android gllary GridView 左右滑屏
  • 滑屏手势

    2014-11-07 11:22:54
    android手机自带的滑屏手势演示
  • AXTURE手机滑屏

    2015-10-22 19:10:56
    AXTURE手机滑屏,RP文件拿来就能用
  • android滑屏解锁

    2013-06-05 16:20:56
    一个简单的android小程序,android手机开机滑屏解锁,
  • PageSlider 是一个用于移动端滑屏组件,支持上下滑动,左右滑动,禁止滑动等功能,同时支持 AMD 模块化加载方式
  • android Tab滑屏

    2012-12-19 12:12:33
    SDK 4.0以上,利用ViewPager和Fragment实现Tab滑屏
  • 仿iPhone滑屏解锁查看微信代码是一款基于html5实现的仿苹果手机滑屏解锁查看微信代码。
  • 移动端H5滑屏网页,上滑屏,动态翻页,有背景音乐,点击可开关。
  • Launcher滑屏动画详解

    2013-10-18 14:22:49
    原生launcher滑屏动画单调,本文描述了开发滑屏动画的方法
  • 现在很流行在H5页面滑屏的效果,特别是在微信浏览器窗口中,几乎很多推广的活动是使用到上下滑屏,一开始和前端的同事一起合作写滑屏效果花费了很多的时间,而且写出来的页面在浏览器的兼容上踩了很多坑,于是果断...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,383
精华内容 2,153
关键字:

滑屏