zoukankan      html  css  js  c++  java
  • android 图片浏览器滑动切换图片

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >
        <!-- 定义ImageView控件 -->
        <ImageView
            android:id="@+id/Iv"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@drawable/k1" />
    </RelativeLayout>
    package com.example.yanlei.yl;
    
    import android.graphics.Color;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.TextView;
    import android.text.Html;
    import android.text.Html.ImageGetter;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    import android.text.Editable;
    import android.text.TextWatcher;
    import android.widget.EditText;
    import android.widget.Button;
    
    
    import android.app.Activity;
    import android.content.Intent;
    
    
    import android.view.GestureDetector;
    import android.view.MotionEvent;
    import android.widget.ImageView;
    
    
    public class MainActivity extends AppCompatActivity {
        // 定义保存ImageView的对象
        private ImageView Iv;
        //定义手势检测器对象
        private GestureDetector gestureDetector;
        //定义图片的资源数组
        private int[] ResId = new int[]{
                R.drawable.k1,
                R.drawable.k2,
                R.drawable.k3
        };
        //定义当前显示的图片的下标
        private int count = 0;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main);
            findView();
            setListener();
        }
    
        private void setListener() {
            //设置手势监听器的处理效果由onGestureListener来处理
            gestureDetector = new GestureDetector(MainActivity.this,
                    onGestureListener);
        }
    
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            //当前Activity被触摸时回调
            return gestureDetector.onTouchEvent(event);
        }
    
        private void findView() {
            //得到当前页面的imageview控件
            Iv = (ImageView) findViewById(R.id.Iv);
        }
        //定义了GestureDetector的手势识别监听器
        private GestureDetector.OnGestureListener onGestureListener
                = new GestureDetector.SimpleOnGestureListener() {
            //当识别的收拾是滑动手势时回调onFinger方法
            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                                   float velocityY) {
                //得到滑动手势的其实和结束点的x,y坐标,并进行计算
                float x = e2.getX() - e1.getX();
                float y = e2.getY() - e1.getY();
    
                //通过计算结果判断用户是向左滑动或者向右滑动
                if (x > 0) {
                    count++;
                    count %= 3;
                } else if (x < 0) {
                    count--;
                    count = (count + 3) % 3;
                }
                //切换imageview的图片
                changeImg();
                return true;
            }
        };
    
        public void changeImg() {
            //设置当前位置的图片资源
            Iv.setImageResource(ResId[count]);
        }
    
    
    
    }
  • 相关阅读:
    【读书笔记-《Android游戏编程之从零开始》】2.Hello,World!
    【读书笔记-《Android游戏编程之从零开始》】1.Android 平台简介与环境搭建
    .Net HttpClient 模拟登录微信公众平台发送消息
    C# DateTime的ToString()方法的使用
    SQL 2008R2 日期转换
    Dojo学习(一)—Hello Dojo
    【博客开篇】服务器配置:Windows2008R2+PHP5.6+SQLServer2008(X64)
    【翻译Autofac的帮助文档】1.入门指南
    申请免费的SSL证书(Win7,PowerShell,Let's Encrypt)
    Rms操作设置office系统文档权限
  • 原文地址:https://www.cnblogs.com/gisoracle/p/5009612.html
Copyright © 2011-2022 走看看