Android 自定义 ViewPager 打造千变万化的图片切换效果

本文介绍了如何使用自定义的MyJazzyViewPager实现Android中图片切换的丰富动画效果,包括缩放和平移。通过重写onPageScrolled方法并结合动画库,可以创建类似Stack等不同过渡效果。同时,文章还提到了JazzyViewPager库,该库提供了多种内置动画,使用方便。
摘要由CSDN通过智能技术生成

package com.example.zhy_jazzyviewpager;

import android.app.Activity;

import android.os.Bundle;

import android.support.v4.view.PagerAdapter;

import android.view.Menu;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ImageView;

import android.widget.ImageView.ScaleType;

public class MainActivity extends Activity

{

protected static final String TAG = “MainActivity”;

private int[] mImgIds;

private MyJazzyViewPager mViewPager;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mImgIds = new int[] { R.drawable.a, R.drawable.b, R.drawable.c,

R.drawable.d };

mViewPager = (MyJazzyViewPager) findViewById(R.id.id_viewPager);

mViewPager.setAdapter(new PagerAdapter()

{

@Override

public boolean isViewFromObject(View arg0, Object arg1)

{

return arg0 == arg1;

}

@Override

public void destroyItem(ViewGroup container, int position,

Object object)

{

container.removeView((View) object);

}

@Override

public Object instantiateItem(ViewGroup container, int position)

{

ImageView imageView = new ImageView(MainActivity.this);

imageView.setImageResource(mImgIds[position]);

imageView.setScaleType(ScaleType.CENTER_CROP);

container.addView(imageView);

mViewPager.setObjectForPosition(imageView, position);

return imageView;

}

@Override

public int getCount()

{

return mImgIds.length;

}

});

}

}

这个很常见的代码,就是初始化ViewPager就没啥可说的了有一点需要注意:在instantiateItem方法,我们多调用了一个mViewPager.setObjectForPosition(imageView, position);其实就是为了给我们的Map存值

主要看自定义的ViewPager

package com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值