2021-01-12

1.将图片素材导入到drawable包中
在这里插入图片描述
2.编辑activity_main.xml布局资源文件
在这里插入图片描述
完整代码如下:

<?xml version="1.0" encoding="utf-8"?>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="imgSwitch"
    android:text="切换图片"/>

<ZoomControls
    android:id="@+id/zoomControls"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

<ImageView
    android:id="@+id/imgControls"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:paddingTop="20dp"
    android:src="@drawable/img1"/>
3.编写MainActivity (1)声明变量 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210112181221945.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xBTGlzYWZhbnM=,size_16,color_FFFFFF,t_70) (2)获取实例 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021011218125294.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xBTGlzYWZhbnM=,size_16,color_FFFFFF,t_70) (3)缩放与放大处理方法 缩放:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210112181315444.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xBTGlzYWZhbnM=,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210112181321743.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xBTGlzYWZhbnM=,size_16,color_FFFFFF,t_70) (4)按钮切换图片 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210112181332632.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xBTGlzYWZhbnM=,size_16,color_FFFFFF,t_70) (5)通过手势切换图片 /** * 手势切换图片 */ imgIds = new int[IMG_COUNT]; for (int i = 0;i < IMG_COUNT;i++) { imgIds[i] = getResources().getIdentifier( "img" + (i + 1), "drawable", "net.zxj.hwork18" ); }
    detector = new GestureDetector(new GestureDetector.OnGestureListener() {
        @Override
        public boolean onDown(MotionEvent e) {
            Log.i(TAG,"onDown");
            return false;
        }

        @Override
        public void onShowPress(MotionEvent e) {
            Log.i(TAG,"onShowPress");
        }

        @Override
        public boolean onSingleTapUp(MotionEvent e) {
            Log.i(TAG,"onSingleTapUp");
            return false;
        }

        @Override
        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
           Log.i(TAG,"onScroll");
            return false;
        }

        @Override
        public void onLongPress(MotionEvent e) {
            Log.i(TAG,"onLongPress");
        }

        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
           Log.i(TAG,"onFling");

           if (e2.getX() < e1.getX() - 10) {
               if (imgIndex < IMG_COUNT -1 ) {
                   imgIndex++;
               } else {
                   imgIndex = 0;
               }
           }

           if (e2.getX() > e1.getX() + 10) {
               if (imgIndex > 0) {
                   imgIndex--;
               } else {
                   imgIndex = IMG_COUNT - 1;
               }
           }

           imgControls.setImageResource(imgIds[imgIndex]);
            return false;
        }
    });

将触摸事件交给手势侦测器来处理
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值