博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android ViewPager 应该及技巧
阅读量:6294 次
发布时间:2019-06-22

本文共 2471 字,大约阅读时间需要 8 分钟。

1.   android 中的ViewPager 功能类似于iOS中的scrollView,实现最主要的页面的左右滑动功能。该类存在于Google的兼容包里面,所以在引用时记得在BuilldPath中增加“android-support-v4.jar”

2.  在实现中ViewPager须要绑定一个适配器(Adapter)。在适配器中返回页面view的个数及详细的形式。这个就类似于iOS中tableView的实现,必须实现UITableView代理中的 numberOfCell 跟CellForRow,一个用于返回共同拥有多少数据,还有一个用于返回每一条详细的数据。

3. ViewPager 通常与Fragment一起使用。

在ViewPager中增加多fragment(页面) 来实现左右的滑动。

4.看个最简单的ViewPager的代码:   如果我们如今已经有三个Fragment ,他们的背影颜色分别为red,green, blue。

   1) 我们在xml 文件里加入一个ViewPager,代码例如以下

              

2)在activtiy .java中使用此ViewPager.如今我们有了ViewPager了,还须要一个Adapter,通常我们继承FragmentPagerAdapter来自己定义我们的Adapter以便重写返回个数及Item的函数。在Adaoter 中定义一个数组,里面添加上面的Fragment(假设想动态添加留个添加的接口就ok),代码例如以下

public static class TabAdapter extends FragmentPagerAdapter implements ViewPager.OnPageChangeListener {        private   ArrayList
frg = new ArrayList
(); public TabAdapter(FragmentManager fm) { super(fm); CountingFragment f1 = new CountingFragment(); frg.add(f1); CursorFragment f2 = new CursorFragment(); frg.add(f2); FragmentPagerSupport f3 = new FragmentPagerSupport(); frg.add(f3); notifyDataSetChanged(); } @Override public Fragment getItem(int i) { return frg.get(i); } @Override public int getCount() { return frg.size(); } @Override public void onPageScrolled(int i, float v, int i2) { } @Override public void onPageSelected(int i) { } @Override public void onPageScrollStateChanged(int i) { } }}
为了监听ViewPager 移动变化的事件。我们实现了ViewPager.OnPageChangeListener 。它的实现三个函数看名字就知道什么意思了。

getCount 返回ViewPager 的Fragment的数量。getItem 返回每一个位置的Item。

3) 关联ViewPgaer跟Adapter

mViewPager = (ViewPager)findViewById(R.id.mViewPager);        mTabAdapter = new TabAdapter(getSupportFragmentManager());        mViewPager.setAdapter(mTabAdapter);
getSupportFragmentManager 返回一个Fragment的管理器,是
FragmentPagerAdapter的要求參数。

经过上面的步骤我们就实现了一个简单的能够左右滑动的ViewPager。

一些属性的介绍

  • 当我们有须要用按键去控制ViewPager的左右滑动时。使用属性 
    boolean (int direction)        向前翻页參数传1,向后翻页參数传2
  •      让ViewPager不响应滑动的切换事件。如让嵌套的子ViewPager不响应滑动切换事件,仅仅是响应点击切换事件,将滑动事件交给父ViewPager处理。,使用 

boolean (int direction)
Check if this view can be scrolled horizontally in a certain direction.

@Override      public boolean canScrollHorizontally(int direction) {          // TODO Auto-generated method stub          return false;      }

转载地址:http://bdvta.baihongyu.com/

你可能感兴趣的文章
python range()内建函数
查看>>
Git 远程分支的pull与push
查看>>
React源码学习——ReactClass
查看>>
电脑爱好者GHOSTWIN764位V4.0
查看>>
MYSQL——常用运算符和函数
查看>>
JS获取上传文件的大小
查看>>
Lync Server 2010迁移至Lync Server 2013故障排错Part1:缺少McsStandalone.msi
查看>>
域控制器建立教程
查看>>
RHCE 学习笔记(20) ACL
查看>>
Django 和 Ajax 简介
查看>>
Qt的一个颜色选取按钮QColorButton
查看>>
perl 散列数组
查看>>
puppet之service管理
查看>>
Exchange2010server证书申请及分配服务
查看>>
Cassandra 处理客户端请求
查看>>
[WinApi]邮槽通信C/S实例
查看>>
linux NFS配置:NFS相关概念及其配置与查看
查看>>
需求转化到文档维护
查看>>
《互联网运营智慧》第7章“简单cdn”正式版下载
查看>>
如何解决SQL Server 2008 R2中“阻止保存要求重新创建表的更改”的问题!
查看>>