android之ViewPager
来源:互联网 发布:呼死你淘宝怎么找 编辑:程序博客网 时间:2024/06/06 00:18
gallery被google放弃后,替代物就成了HorizontalScrollView和ViewPager。
ViewPager是android.support.v4.view.PagerAdapter包里的API。用来低版本向上兼容的包。感觉ViewPager好像能放进去很多东西,因为他的适配器是滑进来时的时候初始化,也就是加载数据,这就意味着不用一开始就把适配器里的数据全部加载进来。HorizontalScrollView貌似也有人这么做了,但是好像很麻烦。
感觉ViewPager的使用分为三部分。
1.在xml定义,PagerTitleStrip的定义需要镶嵌到ViewPager里。
2.创建数据源,包括ViewPager的View数据,和PagerTitleStrip的string数据。一般是用list来装。
//ViewPager的集合创建 List<View> getViewPagerList(int... pagerLayout) { List<View> list = new ArrayList<>(); for (int currentLayout : pagerLayout) { list.add(LayoutInflater.from(context).inflate(currentLayout, null)); } return list; } //PagerTitleStrip的集合创建 List<String> creatPagerTitleStripList(String... title) { List<String> list = new ArrayList<>(); for (String currentTitle : title) { list.add(currentTitle); } return list; }3.加载PagerAdapter。一般都是自定义的。
//自定义ViewPager适配器PagerAdapter--------无法生成Title??? class MyPagerAdapter extends PagerAdapter { List<View> viewList; List<String> titleList; PagerAdapterAction pagerAdapterAction; public MyPagerAdapter(List<View> viewList, List<String> titleList, PagerAdapterAction pagerAdapterAction) { this.viewList = viewList; this.titleList = titleList; this.pagerAdapterAction = pagerAdapterAction; } //判断是否由对象生成界面 @Override public boolean isViewFromObject(View view, Object object) { //return view == viewList.get((int)Integer.parseInt(object.toString())); return view == object; } @Override public int getCount() { return viewList.size(); } //加载滑进来的View @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(viewList.get(position)); View layout = viewList.get(position); //接口回调 pagerAdapterAction.instantiateItemAction(layout, position); return viewList.get(position); } //销毁滑出去的View @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(viewList.get(position)); } //生成Title @Override public CharSequence getPageTitle(int position) { if (titleList == null) { return super.getPageTitle(position); } else { return titleList.get(position); } } } //ViewPager适配器接口 interface PagerAdapterAction { void instantiateItemAction(View layout, int position); }
0 0
- android学习之-ViewPager
- Android开发之ViewPager
- Android UI之ViewPager
- Android 之 ViewPager
- android之ViewPager
- Android界面之ViewPager
- Android UI之ViewPager
- android之ViewPager
- Android进阶之ViewPager
- android控件之ViewPager
- Android之 Viewpager
- Android初学之ViewPager
- Android开发之ViewPager
- Android之ViewPager+RadioGroup
- android开发之ViewPager
- .android 开发之ViewPager内嵌套ViewPager
- Android之viewPager嵌套viewPager无法滑动子viewPager
- android之ViewPager的使用
- The type org.springframework.beans.BeansException cannot be resolved. It is indirectly referenced fr
- CSS中display对布局的影响以及元素display的默认值
- Android数据存储之SD卡
- springMvc跨域
- sax解析xml
- android之ViewPager
- 分享一些java学习网站网址
- Queue类
- SDUT 数据结构实验之栈六:下一较大值(二)
- WAITEVENT: "read by other session" Reference Note (Doc ID 732891.1)
- CATransform3D详解
- 浅析清除session的几种方法
- SQL DROP撤销索引、表以及数据库 高级教程
- MFC的CreateTimerQueueTimer和timeSetEvent两个高精度定时器的比较