ViewPager使用心得总结
来源:互联网 发布:阿里云投诉电话 编辑:程序博客网 时间:2024/06/11 18:33
1.创建步骤
1.1.在布局文件中创建布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android xmlns:tools="http://schemas.android.com/tools android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.PagerTabStrip android:id="@+id/pts" android:layout_width="match_parent" android:layout_height="30dp" android:layout_gravity="top" > </android.support.v4.view.PagerTabStrip> </android.support.v4.view.ViewPager> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="第1页" android:textSize="24sp" /></RelativeLayout>
1.2.创建PagerAdapter
public class GuideAdapter extends PagerAdapter{ private List<View> views; private List<String> strs; public GuideAdapter(List<View> views, List<String> strs) { this.views = views; this.strs = strs; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(views.get(position)); return position; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(views.get(position)); } @Override public int getCount() { return views.size(); } @Override public boolean isViewFromObject(View view, Object object) { return (view == views.get((Integer)object)); } @Override public CharSequence getPageTitle(int position) { return strs.get(position); }}
1.3.设置onPagerChanger监听器
@Override public void onPageScrollStateChanged(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageSelected(int position) { textView.setText("第" + (position+1) + "页"); }
2.包含的方法
2.1.Object instantiateItem(ViewGroup container, int position)这个函数的实现的功能是创建指定位置的页面视图2.2.destroyItem(ViewGroup container, int position, Object object)该方法实现的功能是移除一个给定位置的页面。2.3.int getCount()返回当前有效视图的个数。2.4.boolean isViewFromObject(View view, Object object)该函数用来判断instantiateItem(ViewGroup, int)函数所返回来的Key与一个页面视图是否是代表的同一个视图2.5.CharSequence getPageTitle(int position)设置标题;
3.使用心得
3.1.心得1
Object instantiateItem(ViewGroup container, int position)方法返回的object就是“key”这个可以自定义,只要能唯一判断出view就行;boolean isViewFromObject(View view, Object object)的判断也要跟着不同的key而做相应的改变;
3.2.心得2
1.可以使用viewpager做引导页;2.也可以使用viewpager+fragment做滑动的tab布局实现;
0 0
- ViewPager使用心得总结
- ViewPager使用心得
- ViewPager使用技巧总结
- ViewPager 的使用技巧的心得
- netzke使用心得总结
- Mustache 使用心得总结
- Mustache 使用心得总结
- Mustache 使用心得总结
- pjax使用心得总结
- bootstrap使用心得总结
- hadoop使用心得总结
- Echarts使用心得总结
- ECharts使用心得总结
- Mustache 使用心得总结
- Mustache 使用心得总结
- Android入门--ViewPager使用总结
- ViewPager的使用和总结
- android viewpager 学习使用总结
- 记录apache-cxf-3.0.4编写web服务的过程(2)——集合
- 【LeetCode刷题记录】Single Number
- find命令详解
- 《STL源码剖析学习笔记》
- 黑马程度员——OC语言—— @public和 @private 及 @protected
- ViewPager使用心得总结
- 日拱一卒(四十五)
- 协同过滤Item-based算法实现电影推荐系统
- 新生报到!!
- 如何在tomcat中部署项目
- ngrok
- Java实现POJ 1017:装箱问题
- setOnClickListener报空指针异常
- 实现顶部轮播,下部listview经典布局的两种方式