关于ViewPager
2016-02-27 15:14
302 查看
ViewPager
-----------------------------------
【基本特性】
1. ViewPager是容器类控件
2. ViewPager支持多个layout切换显示
3. ViewPager支持手势左右滑动,并自带左右平移动画
【关于支持jar包】
由于ViewPager是Android 3.0以后推出的新控件,为了兼容当时市场占有比例最高的Android 2.3.3,Google使用了jar包以实现对低版本的兼容。
【在layout中使用ViewPager】
由于ViewPager是v4包中的View类,在layout中使用时,必须显式的添加ViewPager所在的包名,例如<android.support.v4.view.ViewPager />
【使用ViewPager】
1. 创建所需的若干个layout
2. 在Activity中,创建List<View>集合,将各个layout加载为View对象后添加到集合中
3. 初始化ViewPager控件
4. 自定义类继承PagerAdapter,重写抽象方法,并且重写instantiateItem()与destroyItem()方法
5. 为ViewPager配置PagerAdapter
【关于PagerAdapter中的方法】
1. instantiateItem():初始化需要显示的View对象,需要将对象添加到参数container中,并作为该方法的返回值
2. destroyItem():销毁(移除)滑出屏幕的View对象,通过调用参数container的removeView()方法即可实现
3. getCount():返回需要显示的View的数量
4. isViewFromObject():将2个参数使用==对比即可
【PagerTitleStrip和PagerTabStrip】
PagerTitleStrip和PagerTabStrip都可以用于显示ViewPager的标题,在显示标题时,需要重写ViewPager对应的PagerAdapter中的getPageTitle()方法,以确定获取的标题文字。
PagerTitleStrip只会显示文字标题,且不可以点击,PagerTabStrip在显示文字标题时,还会在文字下方显示标题指示器,且标题可以点击用于切换页面显示。
关键字:Tab,Indicator
Fragment
-----------------------------------
Fragment表示“碎片”,它的设计理念是将Activity划分为不同的区块,各区块可以是某个控件,也可以是由Fragment实现显示的部分。
【基本特性】
1. 可以在布局中添加某个容器承载Fragment,具体的显示内容由Fragment实现
2. Fragment可以被附加到容器中,也可以被其它Fragment替换,也可以被从容器中移除,无论是哪种操作,对于Fragment的宿主Activity及该Activity中其它的部分不会产生影响
3. Fragment有独立的生命周期
【创建流程】
1. 自定义View,继承android.support.v4.app.Fragment
2. 重写onCreateView()方法,确定需要显示的内容的View对象,并作为该方法的返回值
【使用ViewPager+Fragment】
1. 将Activity类修改为继承自FragmentActivity
2. 自定义类,继承android.support.v4.app.FragmentPagerAdapter,并重写抽象方法
3. 在自定义的FragmentPagerAdapter中定义构造方法时,需要FragmentManager对象,可以通过调用getSupportFragmentManager()方法获取
4. 在自定义的FragmentPagerAdapter中的getItem()方法中,根据参数position创建不同的Fragment对象。
【注意事项】
1. 由于Fragment不是Context的子孙类,在Fragment中需要Context对象时,应该通过调用getActivity()获取其宿主Activity的对象,用于表示上下文对象
-----------------------------------
【基本特性】
1. ViewPager是容器类控件
2. ViewPager支持多个layout切换显示
3. ViewPager支持手势左右滑动,并自带左右平移动画
【关于支持jar包】
由于ViewPager是Android 3.0以后推出的新控件,为了兼容当时市场占有比例最高的Android 2.3.3,Google使用了jar包以实现对低版本的兼容。
【在layout中使用ViewPager】
由于ViewPager是v4包中的View类,在layout中使用时,必须显式的添加ViewPager所在的包名,例如<android.support.v4.view.ViewPager />
【使用ViewPager】
1. 创建所需的若干个layout
2. 在Activity中,创建List<View>集合,将各个layout加载为View对象后添加到集合中
3. 初始化ViewPager控件
4. 自定义类继承PagerAdapter,重写抽象方法,并且重写instantiateItem()与destroyItem()方法
5. 为ViewPager配置PagerAdapter
【关于PagerAdapter中的方法】
1. instantiateItem():初始化需要显示的View对象,需要将对象添加到参数container中,并作为该方法的返回值
2. destroyItem():销毁(移除)滑出屏幕的View对象,通过调用参数container的removeView()方法即可实现
3. getCount():返回需要显示的View的数量
4. isViewFromObject():将2个参数使用==对比即可
【PagerTitleStrip和PagerTabStrip】
PagerTitleStrip和PagerTabStrip都可以用于显示ViewPager的标题,在显示标题时,需要重写ViewPager对应的PagerAdapter中的getPageTitle()方法,以确定获取的标题文字。
PagerTitleStrip只会显示文字标题,且不可以点击,PagerTabStrip在显示文字标题时,还会在文字下方显示标题指示器,且标题可以点击用于切换页面显示。
关键字:Tab,Indicator
Fragment
-----------------------------------
Fragment表示“碎片”,它的设计理念是将Activity划分为不同的区块,各区块可以是某个控件,也可以是由Fragment实现显示的部分。
【基本特性】
1. 可以在布局中添加某个容器承载Fragment,具体的显示内容由Fragment实现
2. Fragment可以被附加到容器中,也可以被其它Fragment替换,也可以被从容器中移除,无论是哪种操作,对于Fragment的宿主Activity及该Activity中其它的部分不会产生影响
3. Fragment有独立的生命周期
【创建流程】
1. 自定义View,继承android.support.v4.app.Fragment
2. 重写onCreateView()方法,确定需要显示的内容的View对象,并作为该方法的返回值
【使用ViewPager+Fragment】
1. 将Activity类修改为继承自FragmentActivity
2. 自定义类,继承android.support.v4.app.FragmentPagerAdapter,并重写抽象方法
3. 在自定义的FragmentPagerAdapter中定义构造方法时,需要FragmentManager对象,可以通过调用getSupportFragmentManager()方法获取
4. 在自定义的FragmentPagerAdapter中的getItem()方法中,根据参数position创建不同的Fragment对象。
【注意事项】
1. 由于Fragment不是Context的子孙类,在Fragment中需要Context对象时,应该通过调用getActivity()获取其宿主Activity的对象,用于表示上下文对象
相关文章推荐
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
- 百度地图报错 uncaught exception (group=0x416f2e00)
- 千里码【65】可视化_1
- 【rabbitmq】解决SimpleAmqpClient创建连接时阻塞的问题
- 基于 Apache 在本地配置多个虚拟主机
- 边缘检测
- HDU 5294 Tricks Device(最短路+最大流)
- 在Eclipse中使用JUnit4进行单元测试(高级篇)
- 第三届_银行密码
- MVVM设计模式具体实现
- Ulua_toLua_基本案例(一)
- 004_Http之response响应头
- 左侧容器高度随着右侧容器的高度改变而改变
- CodeForces - 280D k-Maximum Subsequence Sum 线段树模拟费用流操作
- listview单个刷新item
- moveZeroes--JavaScript
- SpringMVC实现poi 解析excel 导入导出
- log4j【8】(slf4j)
- adb断开解决方法
- 如何配置JAVA的环境变量、Tomcat环境变量