真正的新手使用ViewPager的总结
来源:互联网 发布:sql 返回true false 编辑:程序博客网 时间:2024/06/05 07:29
Android非自定义之组件----ViewPager
一、我自己对ViewPager的理解
通常被用来做页面菜单、滑动广告之类的,就是可以做成滑动切换的一个组件。
二、使用最基本的ViewPager的流程(基本步骤)
1.在布局文件创建添加viewpager组件
2.在引用该布局文件的activity中声明实例化viewpager(注意实例化顺序,findViewById所放置的位置,小心出现空指针)
3.viewpager所切换的view需要一个list去装载,而这些view需要我们去创建layout文件去实现。而实例化引用view的有基本固定的模板。一会会写明。
4.最后要为viewpager的对象去设置Adapter。(有两种方式)
三、详细用法
1.在布局文件添加viewpager组件
注意下viewpager组件的写法,不同于其他组件
<android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="fill_parent" android:layout_height="140dp" android:layout_gravity="center"/>2.在activity实例化viewpager
private ViewPager viewPager;
viewPager=(ViewPager)findViewById(R.id.viewPager);
3.写layout布好view,实例化引用view
写好view的几个layout
这个是view1
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"><ImageButton android:layout_width="match_parent" android:layout_height="150dp" android:src="@drawable/image1" /></LinearLayout>
这个是view2
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageButton android:layout_width="match_parent" android:layout_height="150dp" android:src="@drawable/image2" android:id="@+id/image2" /></LinearLayout>
这个是view3
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageButton android:layout_width="match_parent" android:layout_height="150dp" android:src="@drawable/image3" /></LinearLayout>
4.然后在activity中引用view和用list装载view
实例化view
LayoutInflater lf = getLayoutInflater().from(this); view1 = lf.inflate(R.layout.image1, null); view2 = lf.inflate(R.layout.image2, null); view3 = lf.inflate(R.layout.image3, null);
用list装载view
viewList = new ArrayList<View>();// 将要分页显示的View装入数组中 viewList.add(view1); viewList.add(view2); viewList.add(view3);
5.为我们自己创建的viewpager设置Adapter
第一种方式:新手无需改动,直接调用即可。
放在onCreate中
PagerAdapter pagerAdapter = new PagerAdapter() { public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } public int getCount() { return viewList.size(); } public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(viewList.get(position)); } public Object instantiateItem(ViewGroup container, int position) { container.addView(viewList.get(position)); return viewList.get(position); } }; viewPager.setAdapter(pagerAdapter); }
第二种方式:新建一个类的Adapter去继承PagerAdapter。然后在onCreate中要有设置好Adapter语句就可以了。新手无需改动,直接调用即可。
class MyAdapter extends PagerAdapter { @Override public int getCount() { return list.size(); } public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager)container).removeView(list.get(position)); } public Object instantiateItem(ViewGroup container, int position) { ((ViewPager)container).addView(list.get(position)); return list.get(position);//显示返回的view } public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0==arg1;//判断是否关联 } }设置Adapter的语句
viewPager.setAdapter(new MyAdapter());
2 0
- 真正的新手使用ViewPager的总结
- 真正的ViewPager详解
- 真正循环的自定义ViewPager
- ViewPager的使用和总结
- android 打造真正的无限循环viewpager
- ViewPager真正的无限轮播
- Fragment+ViewPager实现真正的懒加载
- 真正的628总结
- ViewPager中ViewPager的使用
- Android开发,使用ViewPager实现完全真正的左右循环滑动
- viewpager的用法总结
- ViewPager的onPageChangeListener总结
- ViewPager的Adapter总结
- namespace 真正的使用
- ViewPager,实现真正的无限循环(定时+手动)
- ViewPager实现真正的左右无限循环滑动
- ViewPager,实现真正的无限循环(定时+手动)
- ViewPager,实现真正的无限循环(定时+手动)
- Linux内核学习篇二:内核初始化
- LINUX的端口和服务
- java IO流总结
- Delphi基础:回调函数及其使用
- 分布式系统的一致性探讨
- 真正的新手使用ViewPager的总结
- 秒杀业务架构优化之路
- O
- 如何解决数组的从小到大的排序
- 摆脱救火员,让系统自身具备“容错”能力
- Mysql主从复制
- 【2】JAVA---地址App小软件(ListPanel.class)(表现层)
- IO的五种模型
- URAL 1785 Lost in Localization