Android开发中ViewPager实现多页面切换效果
程序员文章站
2024-03-31 16:57:52
viewpager用于实现多页面的切换效果,该类存在于google的兼容包里面,所以在引用时记得在builldpath中加入“android-support-v4.jar”...
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开发中ViewPager实现多页面切换效果
-
Android开发之使用ViewPager实现图片左右滑动切换效果
-
Android 中 TabHost与ViewPager结合实现首页导航效果
-
Android开发之使用ViewPager实现图片左右滑动切换效果
-
Android 中 TabHost与ViewPager结合实现首页导航效果
-
Android中TabLayout结合ViewPager实现页面切换效果
-
Android中TabLayout结合ViewPager实现页面切换效果
-
Android组件TabHost实现页面中多个选项卡切换效果
-
Android自定义ViewPager实现个性化的图片切换效果
-
Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果