Android实现滑动屏幕切换图片
作者:Code_MoMo 发布时间:2022-04-26 23:14:42
标签:Android,滑动,切换图片
本文实例为大家分享了Android实现滑动屏幕切换图片的具体代码,供大家参考,具体内容如下
activity_main.xml 文件代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.administrator.hand_gliding.MainActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView"
android:src="@drawable/a1"/>
</LinearLayout>
MainActivity.java 文件代码:
package com.example.administrator.hand_gliding;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
//定义图片
private int[] resId = new int[]{
R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,
R.drawable.a5,R.drawable.a6,R.drawable.a7
};
//图片下标序号
private int count = 0;
//定义手势监听对象
private GestureDetector gestureDetector;
//定义ImageView对象
private ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView)findViewById(R.id.imageView); //获取ImageView控件id
gestureDetector = new GestureDetector(onGestureListener); //设置手势监听由onGestureListener处理
}
//当Activity被触摸时回调
public boolean onTouchEvent(MotionEvent event){
return gestureDetector.onTouchEvent(event);
}
//自定义GestureDetector的手势识别 *
private GestureDetector.OnGestureListener onGestureListener
= new GestureDetector.SimpleOnGestureListener(){
//当识别的手势是滑动手势时回调onFinger方法
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%=(resId.length-1); //想显示多少图片,就把定义图片的数组长度-1
}else if(x < 0){
count--;
count=(count+(resId.length-1))%(resId.length-1);
}
iv.setImageResource(resId[count]); //切换imageView的图片
return true;
}
};
}
界面设置效果:
这个功能的代码里有很多没见过的单词,本人英语学的不好,需要查查意思然后找这些方法的功能。
可以用这个加上切换动画做一个图片查看器。
由于没用模拟器,用的是真机调试,给不了滑动的实物图,抱歉抱歉。
来源:https://blog.csdn.net/Code_MoMo/article/details/78760862
0
投稿
猜你喜欢
- 在servlet3.0标准之前,是每一个请求对应一个线程。如果此时一个线程出现了高延迟,就会产生阻塞问题,从而导致整个服务出现严重的性能情况
- 五丶封装(1)包的概念与创建1>概念在我们的电脑上有许多的文件,我们为了方便管理,大致给它们进行了不同的命名。然后在不同的文件夹下面再
- AOP注解无效,切面不执行的解决想做一个api请求日志,想到使用aop,配置过程中遇到了一个坑,aop不起作用,我的aop是这样的:pack
- 本文实例讲述了C#控制台进行文件读写的方法。分享给大家供大家参考。具体如下:C#控制台进行文件写入:using System;using S
- 题目:编写一个程序,在面板上移动小球。应该定义一个面板类来显示小球,并提供向上下左右移动小球的方法。请进行边界检查以防止小球移动到视线之外。
- 大概理解查了一个小时的资料:async和await发现这个大神的解释一针见血,深得我心!以最简单的例子,解释了async和await。妙~~
- 前言1、下面是一个效果展示;2、先抱怨一下,在博客上面的抄袭真的非常严重,为了实现一个图片滑动验证,我搜索了挺久的资料,不过内容翻来覆去就是
- 本篇博客要分享的一个UI效果——实现底部切换标签,想必大家在一些应用上面遇到过这种效果了,最典型的就是微信了,可以左右滑动切换页面,也可以点
- 一、效果图二、描述更改Android项目中的语言,这个作用于只用于此APP,不会作用于整个系统三、解决方案(一)布局文件<Linear
- 一、DES加密和解密package com.itjh.javaUtil;import java.io.UnsupportedEncoding
- 环境变量这个概念不陌生, 就是操作系统的环境变量。系统变量就是java本身维护的变量。 通过 System.getProperty 的方式获
- 面试题一:判断下列程序运行结果package String_test;public class test_1 { public static
- 本文实例讲述了C#的内存回收方法。分享给大家供大家参考。具体实现方法如下:如下示例代码是调用win32底层操作,可实现内存的回收。 
- Java中数组初始化和OC其实是一样的,分为动态初始化和静态初始化,动态初始化:指定长度,由系统给出初始化值静态初始化:给出初始化值,由系统
- 一、List<T>对象中的T是值类型的情况(int 类型等)对于值类型的List直接用以下方法就可以复制:List<T&g
- 本文实例讲解的是如何画一个满满圆形水波纹loadingview,这类效果应用场景很多,比如内存占用百分比之类的,分享给大家供大家参考,具体内
- 1 pom.xml文件注:热部署功能spring-boot-1.3开始有的<!--添加依赖--><dependency&g
- 本文实例为大家分享了unity shader实现玻璃折射的具体代码,供大家参考,具体内容如下Shader "Unlit/rende
- 前言在开发过程中,会遇到很多的实体需要将查出的数据处理为下拉或者级联下拉的结构,提供给前端进行展示。在数据库查出的结构中,可能是集合<
- using System;using System.Collections;using System.IO;namespace Consol