当前位置: 移动技术网 > IT编程>移动开发>Android > Android开发中ViewPager实现多页面切换效果

Android开发中ViewPager实现多页面切换效果

2019年07月24日  | 移动技术网IT编程  | 我要评论

抹布女也有春天糖糖,fs2you coat,9050

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实现多页面切换效果,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网