简单实现图片间的切换动画 主要用到ViewPager
ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view。
ViewPager类需要一个PagerAdapter适配器类给它提供数据

PagerAdapter适配器,必须实现四个方法getCount、isViewFromObject、destroyItem、instantiateItem

import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;

import java.util.List;

import uk.co.senab.photoview.PhotoView;

public class ViewPagerActivity extends AppCompatActivity {
private ViewPager vp; //Lay_out中设置了ViewPager
private List<PhotoView> myDate; //泛型,存放相同数据类型

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_pager);
vp = (ViewPager) findViewById(R.id.vp);
myDate = new ArrayList<>();
PhotoView img = new PhotoView(this);
img.setImageResource(R.mipmap.image1); //获得图片
myDate.add(img);
img = new PhotoView(this);
img.setImageResource(R.mipmap.image2);
myDate.add(img);
img = new PhotoView(this);
img.setImageResource(R.mipmap.image3);
myDate.add(img);
img = new PhotoView(this);
img.setImageResource(R.mipmap.image4);
myDate.add(img);
vp.setAdapter(new MyViewPagerAdapter(myDate));
}

public class MyViewPagerAdapter extends PagerAdapter {
private List<PhotoView> myDate;

public MyViewPagerAdapter(List<PhotoView> myDate) {
this.myDate = myDate;
}

@Override
public int getCount() {
return myDate.size();
}

@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(myDate.get(position));
return myDate.get(position);
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(myDate.get(position));
}
}
}

Lay_out:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.administrator.jreduch05.ViewPagerActivity">

<android.support.v4.view.ViewPager //用于显示左右滑动的界面
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#1b1a1a"
android:id="@+id/vp">

</android.support.v4.view.ViewPager>

</RelativeLayout>

简单实现图片间的切换动画 主要用到ViewPager的更多相关文章

  1. 利用Theme自定义Activity间的切换动画

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/22990643 大多Android系统默认Activity间的动画切换效果为,右边 ...

  2. Android 编程下设置 Activity 切换动画

    为 Activity 设置切换动画 我们知道,我们可以在 AndroidManifest.xml 文件中,通过 android:theme 属性设置 Activity 的主题.主题中定义了关于 Act ...

  3. [置顶] cocos2d-x 植物大战僵尸(13)类似酷跑的【同一角色不同动画间的切换的实现】

          有几天没和大家分享博客了,原因很简单,就是我在运行第12章所写的代码时:(开始一切正常,不过没多久就出现了内存泄露!.可能求成心切吧,当时没多加考虑就把代码发上去了.我在此对看过第12章得 ...

  4. uwp 图片切换动画

    最近在学习安卓,LOL自定义战绩项目近乎停工,而且腾旭把界面全改了,好烦.刚好学习到安卓中的图片切换动画,我就想在LOL项目中实现一个.首先上百度查看一下,妈的,资料少的可怜. 还是自己来吧.自定义控 ...

  5. HTML5移动端图片左右切换动画

    插件描述:HTML5移动端图片左右切换动画 小海今天要给大家分享一款很不错的图片左右切换焦点图动画,并且支持移动端触摸滑动.功能上,这款HTML5图片播放器支持鼠标滑动.手机端触摸滑动以及自动播放.外 ...

  6. Android随笔--使用ViewPager实现简单地图片的左右滑动切换

    Android中图片的左右切换随处可见,今天我也试着查阅资料试着做了一下,挺简单的一个小Demo,却也发现了一些问题,话不多说,上代码~: 使用了3个xml文件作为ViewPager的滑动page,布 ...

  7. jquery简单的图片切换效果,支持pc端、移动端的banner图片切换开发

    详细内容请点击 无意中看见了两年前写的一个图片切换,那会儿刚刚学习网页制作,可以说是我的第一个处女座的jquery图片切换效果.无聊之余对它的宽度稍稍做了一下修改,变成了支持pc端.手机端全屏的ban ...

  8. 《转载》两个activity界面间跳转切换动画效果

    1overridePendingTransition Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画. 它包括两个部分:一部分是第一个activity退出 ...

  9. Android切换动画之ViewPager

    有过开发经验的程序员都知道这个效果,就是当我们第一次安装一个软件时有一个使用说明的图片切换效果,他是如何实现的呢?今天我们就一起学习一下吧,难度系数1.0,就是只要你仔细分析,都可以学会.废话不多说, ...

随机推荐

  1. wildcard 处理全部文件

    Makefile如果想取得文件夹下全部文件 $(wildcard $(PATH)/*.c) 即可

  2. 查错 CH Round #57 - Story of the OI Class

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2357%20-%20Story%20of%20the%20OI%20Class/查错 题解:刚开始看见立马以为是 ...

  3. 【动态规划】Vijos P1218 数字游戏(NOIP2003普及组)

    题目链接: https://vijos.org/p/1218 题目大意: 一个N个数的环,分成M块,块内的数求和%10,最后每块地值累乘,求最大和最小. n(1≤n≤50)和m(1≤m≤9)太小了可以 ...

  4. supesite 标签语法

    http://blog.sina.com.cn/s/blog_a3c7706701018c8o.html

  5. c++转换构造函数和类型转换函数

    看stl源码时,有一段代码感觉很奇怪 iterator begin() { return (link_type)((*node).next); } iterator和link_type是两种不同类型, ...

  6. Codeforces Round #263 (Div. 1) C. Appleman and a Sheet of Paper 树状数组暴力更新

    C. Appleman and a Sheet of Paper   Appleman has a very big sheet of paper. This sheet has a form of ...

  7. Jenkins 一: 环境安装以及配置

    安装JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择的JDK版本和开发使用的JDK版本最好 ...

  8. Linux内存寻址之分段机制

    前言 最近在学习Linux内核,读到<深入理解Linux内核>的内存寻址一章.原本以为自己对分段分页机制已经理解了,结果发现其实是一知半解.于是,查找了很多资料,最终理顺了内存寻址的知识. ...

  9. 301重定向与CNAME

    CNAME记录是域名指向另一个域名A记录是域名指向IP地址URL跳转是打开这个网址的时候会跳转到另一个指定的网址,URL跳转分为301永久重定向和302临时重定向. 301永久重定向会使搜索引擎抓取新 ...

  10. php开启curl和openssl

    php开启curl和openssl 开启php curl函数库的步骤 1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; /*用 echo phpi ...