ViewPager的使用
2016-04-12 23:27
381 查看
重要知识点:
关于ViewPager
1、能实现多个View左右切换的效果。
2、是由google的support-v4兼容包提供的,所以需要导入该包。
3、和ListView类似,也有一个Adapter,叫PagerAdapter
关于PagerAdapter
能为ViewPager提供view。必须重写以下方法:
1、boolean isViewFromObject(View arg0, Object arg1)
2、int getCount()
3、void destroyItem(ViewGroup container, int position,Object object)
4、Object instantiateItem(ViewGroup container, int position)
getCount():返回要滑动的View的个数:
@Override
public int getCount() {
return viewList.size();
}
destroyItem():从当前container中删除指定位置的View
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
container.removeView(viewList.get(position));
}
instantiateItem():第一:将当前视图添加到container中,第二:返回当前View
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(viewList.get(position));
return viewList.get(position);
}
};
isViewFromObject():ViewPager里面用了一个mItems(ArrayList)来存储每个page的信息(ItemInfo),当界面要展示或者发生变化时,需要依据page的当前信息来调整,但此时只能通过view来查找,所以只能遍历mItems通过比较view和object来找到对应的ItemInfo。
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
为引导动画加上圆点指示器
思路:
1、有几个view,就有几个圆点图片
2、为圆点图片设置selector,启用时是灰色图,不启用时是白色图。
3、在程序动态设置圆点的状态setEnabled(true|false);
关于ViewPager
1、能实现多个View左右切换的效果。
2、是由google的support-v4兼容包提供的,所以需要导入该包。
3、和ListView类似,也有一个Adapter,叫PagerAdapter
关于PagerAdapter
能为ViewPager提供view。必须重写以下方法:
1、boolean isViewFromObject(View arg0, Object arg1)
2、int getCount()
3、void destroyItem(ViewGroup container, int position,Object object)
4、Object instantiateItem(ViewGroup container, int position)
getCount():返回要滑动的View的个数:
@Override
public int getCount() {
return viewList.size();
}
destroyItem():从当前container中删除指定位置的View
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
container.removeView(viewList.get(position));
}
instantiateItem():第一:将当前视图添加到container中,第二:返回当前View
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(viewList.get(position));
return viewList.get(position);
}
};
isViewFromObject():ViewPager里面用了一个mItems(ArrayList)来存储每个page的信息(ItemInfo),当界面要展示或者发生变化时,需要依据page的当前信息来调整,但此时只能通过view来查找,所以只能遍历mItems通过比较view和object来找到对应的ItemInfo。
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
为引导动画加上圆点指示器
思路:
1、有几个view,就有几个圆点图片
2、为圆点图片设置selector,启用时是灰色图,不启用时是白色图。
3、在程序动态设置圆点的状态setEnabled(true|false);
相关文章推荐
- 自动化运维实践:Cobbler自动安装上百台服务器不是梦
- Nginx负载均衡配置实例详解
- spark入门资料精化
- “耐撕”团队2016.04.12站立会议
- 练习题之死锁
- STL笔记(8)—序列式容器之vector(一)
- 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC
- ZOJ 3708 Density of Power Network
- 分享从google上下载的Eclipse ADT插件(目前我所收集的全部版本)
- UNP学习:套接字地址结构
- LVS+keepalived+nginx+tomcat部署实现
- LeetCode *** 75. Sort Colors
- 自定义输入输出流的那些事儿
- 集群搭建
- No configuration found for the specified action: 'login123.action' in namespace: '/'.
- 用 Redis 轻松实现秒杀系统---双十一和12306的瞬时网络爆发访问
- LeetCode 206. Reverse Linked List
- ARM-指令
- android去掉黑色状态栏
- CSUST 第九届校赛G-Dating with girls(二分)