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 图片浏览器滑动切换图片的更多相关文章
- Android:使用ViewPager实现左右滑动切换图片(图上有点点)
在以下实例的基础上加上点点 Android:使用ViewPager实现左右滑动切换图片 (简单版) 效果预览: 因为要把点点放图片上,所以修改布局为相对布局: <?xml version=&qu ...
- Android:使用ViewPager实现左右滑动切换图片 (简单版)
ViewPager,它是google SDk中自带的一个附加包的一个类, 可以使视图滑动. 步骤: 1.引入android-support-v4.jar包,在主布局里加入 <android.su ...
- H5+CSS3实现手指滑动切换图片
包含3个文件:html.slider-H5.js.jquery.js(自行下载).在html中可配置滑动参数.具体代码如下: HTML代码: <!DOCTYPE HTML> <htm ...
- 基于jQuery左右滑动切换图片代码
分享一款基于jQuery左右滑动切换图片代码.这是一款基于jQuery实现的左右滑动切换焦点图代码.效果图如下: 在线预览 源码下载 实现的代码: <div class="v_ou ...
- 实现了在android实现左右滑动切换界面的效果
这是实现了在android实现左右滑动切换界面的效果,该效果的源码下载,请到源码天堂下载吧,喜欢的朋友可以研究一下. 布局文件 <?xml version="1.0" enc ...
- 【JavaScript】修改图片src属性切换图片
今天做项目时其中一个环节需要用到js修改图片src属性切换图片,现在来记录一下 以下是示例: html <img src="/before.jpg" id="img ...
- android界面的滑动切换功能
左右滑动切换是几乎所有应用中都会用到的功能.在这里将相关资源进行总结 (1)viewflipper结合手势检测进行左右滑动. http://www.cnblogs.com/hanyonglu/arch ...
- 快速集成图片浏览器快速集成图片浏览器->MJPhotoBrowser的使用
介绍: 一个比较完整的图片浏览器,高仿了新浪微博的图片浏览效果,功能包括:下载浏览互联网图片,点击缩略图全屏显示图片.当加载较大图片时会出现圆形进度条,滑动浏览所有图片.保存图片到本地相册.GIF图片 ...
- JS原生隐藏显示图片,点击切换图片的效果
今天要说的内容,看标题就都能知道了!所有知识点一览无遗啊!咱们今天的东西,是纯纯的原生JS代码, 我先说一下要求, 1.有两个按钮,内容为显示,和换, 2.当点击显示的时候,按钮文字变成隐藏,同时图片 ...
随机推荐
- document节点的一些个性属性
<ol> <li>document.head:返回文档的< head>节点:</li> <li>document.body:返回文档的< ...
- UVa-227-谜题
这题的话,我们读入的时候,可以用scanf单个读入字符,也可以用getchar函数来读入. scanf scanf读入串字符的时候,遇到空格.回车和TAB等空白字符就会停止读入,但是如果读入单个字符就 ...
- (40)zabbix监控web服务器访问性能
zabbix web监控介绍 在host列可以看到web(0),在以前的版本这项是独立出来的,这个主要实现zabbix对web性能的监控,通过它可以了解web站点的可用性以及性能. 最终将各项指标绘制 ...
- python计算机基础(一)
什么是编程语言? 跟计算机交流的语言 什么是编程? 编程就是写代码,让计算机能够听懂的语言 为什么要编程? 让计算机为我们做事,取代人 计算机5大组成分别有什么作用? CPU:控制,判断,配作用,内存 ...
- 有关linux的GPG签名验证错误的解决方法。
GPG签名验证错误:由于没有公钥,下列签名无法进行验证: NO_PUBKEY 6AF0E1940624A220 找了下原因,虽然不知道原理,不过大概意思还是能才出来的,解决方法如下: gpg --ke ...
- tensorboard以时间命名每一个文件夹
tensorboard 有一个良好的命名习惯以时间命名每一个文件夹,例如**20190523_081232** ''' from datetiome import datetime dir = os. ...
- Python数据类型(简单入门)
数据类型(预了解) 1.数字类型 整型:int 即不带小数点的数,通常用来标识年龄,账号,身份证号,等级等整数. 浮点型:float 即带有小数点的数,通常用来标记身高,体重,科学计算等有小数点的数. ...
- Python9-集合-day7
集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的. 以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试 ...
- Java-替换字符串中的字符
package com.tj; public class MyClass implements Cloneable { public static void main(String[] args) { ...
- kali-set
Set 简介 开源的社会工程学利用套件,通常结合metasploit(部分)来使用 更改 /etc/setoolkit下的配置文件 set_config BLEEDING_EDGE="Fal ...