【Android UI设计与开发】1.引导界面(一)ViewPager介绍和简单实现
1.ViewPager 实现效果图
2.ViewPager 实现功能
ViewPager类提供了多界面切换的新效果,新效果有如下特征:
<1>当前显示一组界面中的其中一个界面;
<2>当用户通过左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分;
<3>滑动结束后,界面自动跳转到当前选择的界面中。
3.ViewPager详细说明
android-support-v4.jar 是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。那如何使用它呢,与ListView类似,我们也需要一个适配器,他就是PagerAdapter。
ViewPager对应官方文档地址为:http://developer.android.com/reference/android/support/v4/view/ViewPager.html
4、ViewPager的使用
分三个步骤来使用它:
1、在布局文件里加入该组件
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >
注意:这个组件是用来显示左右滑动的界面的,如果不加载xml布局文件,他是不会显示内容的
2、加载要显示的页卡
LayoutInflater lf = getLayoutInflater().from(this);
view1 = lf.inflate(R.layout.layout1, null);
view2 = lf.inflate(R.layout.layout2, null);
view3 = lf.inflate(R.layout.layout3, null); viewList = new ArrayList<View>();// 将要分页显示的View装入数组中
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
3、在Activity里实例化ViewPager组件,并设置它的Adapter(就是PagerAdapter,方法与ListView一样的),在这里一般需要重写PagerAdapter。
public class MyViewPagerAdapter extends PagerAdapter {
private List<View> mListViews; public MyViewPagerAdapter(List<View> mListViews) {
this.mListViews = mListViews;//构造方法,参数是我们的页卡,这样比较方便。
} @Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mListViews.get(position));//删除页卡
} @Override
public Object instantiateItem(ViewGroup container, int position) {//这个方法用来实例化页卡
container.addView(mListViews.get(position), 0);//添加页卡
return mListViews.get(position);
} @Override
public int getCount() {
return mListViews.size();//返回页卡的数量
} @Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
} }
ViewPager的适配器是PagerAdapter,它是基类提供适配器来填充页面ViewPager内部,你很可能想要使用一个更具体的实现,如FragmentPagerAdapter或FragmentStatePagerAdapter。在这里需要说明一下,其实ViewPager应该和Fragment一起使用,至少谷歌官方是这么想的,但是在3.0之下,我们没有必要这么做。下面要注意,当你实现一个PagerAdapter,你必须至少覆盖以下方法:
instantiateItem(ViewGroup, int)
destroyItem(ViewGroup, int, Object)
getCount()
isViewFromObject(View, Object)
PagerAdapter对应的官方文档地址为:http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html
源代码地址:https://github.com/YeXiaoChao/Yc_ui_viewpager
来源:http://blog.csdn.net/yangyu20121224/article/details/8980917
最新文章
- Mac入门(三)使用brew安装软件
- PHP中json_encode后中文乱码的解决方案
- 第五篇T语言实例开发,数组空间使用
- Zookeeper 初体验之——伪分布式安装(转)
- User Settings in WPF
- Java for LeetCode 062 Unique Paths
- 一模 (5) day1
- Android ImageView 详述
- Access中出现改变字段“自己主动编号”类型,不能再改回来!(已解决)
- DataReader反射泛型对象
- 【LeetCode题意分析&;解答】38. Count and Say
- linux下安装NPM管理工具
- Asp.Net Core MVC项目实现多语言(Globalization/Localization)
- RxJava(五) onErrorResumeNext操作符实现app与服务器间token机制
- Nginx与Lua
- C++系列总结——new和delete
- RocketMQ入门(Filter)_5
- Fillder Script语法
- spring boot整合quartz实现多个定时任务
- 网络编程_UDP协议_聊天程序
热门文章
- SpringMvc+Mybatis 框架搭建
- mongodb学习1---基本命令
- www.97top10.com--做最好的技术交流网站
- mariadb connector bug
- SharpGL学习笔记(十四) 材质:十二个材质球
- springmvc+mybatis+spring 整合 bootstrap
- rails provide与content_for的区别
- Python: 解决pip安装源被墙的问题
- Linux0.11内核剖析--初始化程序(init)
- jar包双击执行程序