ViewPager用于实现多页面的切换效果,该类存在于Google的兼容包里面,所以在引用时记得在BuilldPath中加入“Android-support-v4.jar”
首先必须知道:要使用ViewPager,必须要使用PagerAdapter为其提供数据,也就必须实现下面四个方法:
1, getCount():ViewPager需要显示的页面个数
2,isViewFromObject(View view, Object object):view 是某个位置的页面,Object是 instantiateItem 方法返回的。在这个方法需要判断这页面与Object对象是
否是同一个对象。
3,instantiateItem(ViewGroup Container, int position):生成对应位置的页面,container 就是显示页面的容器,position 就是对应的页面的序号
4,destroyItem(ViewGroup container, int position, Object object):将指定页面销毁
其实现代码”如下”:
1,直接在布局文件中引入ViewPager
注意:必须要导入其依赖包android.support.v4
<android.support.v4.view.ViewPager android:id="@+id/up" android:layout_width="wrap_content" android:layout_height="wrap_content"> </android.support.v4.view.ViewPager>
2,自定义一个适配器继承于PagerAdapter,并覆写其四个方法
public class MyPagerAdapter extends PagerAdapter { private Context mContext; private int[] mResId; public MyPagerAdapter(Context context, int[] resId) { this.mContext = context; this.mResId = resId; } //设置内部pager页面的数量 @Override public int getCount() { return mResId.length; } @Override public boolean isViewFromObject(View view, Object object) { //判断页面与object是否是同一个对象 return view == object; } //必须重新覆写instaniateItem()和destroyItem()二个方法才能进行展示 @Override public Object instantiateItem(ViewGroup container, int position) { View view = View.inflate(mContext, R.layout.item, null); View iv_item = view.findViewById(R.id.iv_item); iv_item.setBackgroundResource(mResId[position]); //必须将填充出来的view添加到ViewGroup中去,其container表示当前页面的容器 container.addView(view); return view; } //不使用的时候,将其销毁 @Override public void destroyItem(ViewGroup container, int position, Object object) { //父类实现的方法是抛异常(源码) // super.destroyItem(container, position, object); container.removeView((View) object); } }
3,activity中实现其逻辑
public class MainActivity extends Activity { private ViewPager mUp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initeView(); initData(); } private void initData() { int[] resId = new int[]{R.drawable.shi, R.drawable.ni, R.drawable.haha}; //给ViewPager设置内容 MyPagerAdapter adapter = new MyPagerAdapter(getApplicationContext(), resId); mUp.setAdapter(adapter); } private void initeView() { mUp = (ViewPager) findViewById(R.id.up); } }
以上所述是小编给大家介绍的Android开发中ViewPager实现多页面切换效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍Android fragment实现多个页面切换效果,包括了Android fragment实现多个页面切换效果的使用技巧和注意事项,需要的朋友参考一下 现在的APP首页大部分屏幕的下方显示一行Tab标签选项,点击不同的标签就可以切换到不同的界面。如下图: 我们之前都是用TabHost来实现,但是殊不知,TabHost并非是那么的简单,它的可扩展性非常的差,不能随意地定制Tab项显示
本文向大家介绍Android应用中利用ViewPager实现多页面滑动切换效果示例,包括了Android应用中利用ViewPager实现多页面滑动切换效果示例的使用技巧和注意事项,需要的朋友参考一下 1、添加android support包 因为上面的几个类都是在android support包中才提供,我们先添加包。 在Eclipse->Window->Android SDK Manager,选
本文向大家介绍Android基于ViewPager实现类似微信页面切换效果,包括了Android基于ViewPager实现类似微信页面切换效果的使用技巧和注意事项,需要的朋友参考一下 此文,仅做为个人学习Android,记录成长以及方便复习! 实现ViewPager实现类似微信的页面切换,此文通过Fragment适配器实现 首先在布局文件activity_main.xml添加ViewPager
本文向大家介绍Android编程实现ViewPager多页面滑动切换及动画效果的方法,包括了Android编程实现ViewPager多页面滑动切换及动画效果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现ViewPager多页面滑动切换及动画效果的方法。分享给大家供大家参考,具体如下: 一、首先,我们来看一下效果图,这是新浪微博的Tab滑动效果。我们可以手势滑动
本文向大家介绍Android开发之使用ViewPager实现图片左右滑动切换效果,包括了Android开发之使用ViewPager实现图片左右滑动切换效果的使用技巧和注意事项,需要的朋友参考一下 Android中图片的左右切换随处可见,今天我也试着查阅资料试着做了一下,挺简单的一个小Demo,却也发现了一些问题,话不多说,上代码~: 使用了3个xml文件作为ViewPager的滑动page,布局都
本文向大家介绍Android实现单页显示3个Item的ViewPager炫酷切换效果,包括了Android实现单页显示3个Item的ViewPager炫酷切换效果的使用技巧和注意事项,需要的朋友参考一下 单页显示3个Item的ViewPager炫酷切换效果,适用于Banner等。 效果图 Rotate Y Rotate Down Rotate Up Alpha ScaleIn ScaleIn +