当前位置: 首页 > 编程笔记 >

Android ViewPager基本用法和片段

鱼安然
2023-03-14
本文向大家介绍Android ViewPager基本用法和片段,包括了Android ViewPager基本用法和片段的使用技巧和注意事项,需要的朋友参考一下

示例

AViewPager允许在活动中显示多个片段,可通过向左或向右翻转来导航。甲ViewPager需要被馈送通过使用任一视图或片段的PagerAdapter。

但是,在使用片段分别为FragmentPagerAdapter和的情况下,有两种更具体的实现最有用FragmentStatePagerAdapter。当片段第一次getItem(position)需要实例化时,将为每个需要实例化的位置调用。该getCount()方法将返回总页数,因此ViewPager知道需要显示多少个片段。

双方FragmentPagerAdapter并FragmentStatePagerAdapter保持片段的高速缓存的ViewPager需要证明。默认情况下,ViewPager它将尝试html" target="_blank">存储最多3个与当前可见片段相对应的片段,以及左右两侧的片段。也FragmentStatePagerAdapter将保留每个片段的状态。

请注意,这两种实现都假定片段将保留其位置,因此,如果保留片段的列表,而不是如在getItem()方法中看到的那样具有静态数目的片段,则将需要创建的子类PagerAdapter并至少重写instantiateItem(),destroyItem()和getItemPosition()方法。

只需按照基本示例中所述在布局中添加ViewPager:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout> 
    <android.support.v4.view.ViewPager
        android:id="@+id/vpPager"> 
    </android.support.v4.view.ViewPager>
</LinearLayout>

然后定义适配器,该适配器将确定存在多少页以及为适配器的每一页显示哪个片段。

public class MyViewPagerActivity extends AppCompatActivity {
    private static final String TAG = MyViewPagerActivity.class.getName();

    private MyPagerAdapter mFragmentAdapter;
    private ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.myActivityLayout);

        //应用适配器
        mFragmentAdapter = new MyPagerAdapter(getSupportFragmentManager());    
        mViewPager = (ViewPager) findViewById(R.id.view_pager);
        mViewPager.setAdapter(mFragmentAdapter);
    }

    private class MyPagerAdapter extends FragmentPagerAdapter{

        public MyPagerAdapter(FragmentManager supportFragmentManager) {
            super(supportFragmentManager);
        }

        // 返回要为该页面显示的片段
        @Override
        public Fragment getItem(int position) {
            switch(position) {
                case 0:
                    return new Fragment1();

                case 1:
                    return new Fragment2();

                case 2:
                    return new Fragment3();

                default:
                    return null;
            }
        }

        // 返回总页数    
        @Override
        public int getCount() {
            return 3;
        }

    }
}

3.2.x

如果您正在使用android.app.Fragment,则必须添加此依赖项:

compile 'com.android.support:support-v13:25.3.1'

如果您正在使用android.support.v4.app.Fragment,则必须添加此依赖项:

compile 'com.android.support:support-fragment:25.3.1'
           

 类似资料:
  • 本文向大家介绍NumPy 基本切片和索引的具体使用方法,包括了NumPy 基本切片和索引的具体使用方法的使用技巧和注意事项,需要的朋友参考一下 索引和切片是NumPy中最重要最常用的操作。熟练使用NumPy切片操作是数据处理和机器学习的前提,所以一定要掌握好。 文档:https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html 索引

  • 本文向大家介绍R基本用法和链接,包括了R基本用法和链接的使用技巧和注意事项,需要的朋友参考一下 示例 管道运算符,%>%用于将参数插入函数。它不是该语言的基本功能,只能在附加提供该语言的软件包后才能使用magrittr。管道运算符采用管道的左侧(LHS),并将其用作函数的右侧的第一个参数(RHS)。例如: 管道可用于替换一系列函数调用。多个管道允许我们从左到右而不是从内到外读取和写入序列。例如,假

  • 安装了 Jekyll 的 Gem 包之后,就可以在命令行中使用 Jekyll 命令了。有以下这些用法: $ jekyll build # => 当前文件夹中的内容将会生成到 ./_site 文件夹中。 $ jekyll build --destination <destination> # => 当前文件夹中的内容将会生成到目标文件夹<destination>中。 $ jekyll build

  • 这个插件基于 jQuery 上通过 imgAreaSelect() 方法来调用,它操作的对象是HTML中 <img> 元素内的图像。 $(document).ready(function () { $('img#photo').imgAreaSelect({ handles: true, onSelectEnd: someFunction }); }); 如果在

  • 安装 npm install vue vue-server-renderer --save 我们将在整个指南中使用 NPM,但你也可以使用 Yarn。 注意 推荐使用 Node.js 版本 6+。 vue-server-renderer 和 vue 必须匹配版本。 vue-server-renderer 依赖一些 Node.js 原生模块,因此只能在 Node.js 中使用。我们可能会提供一个更

  • 我正在尝试在我的本地机器上安装弹性搜索环境的单集群-多节点环境。我混淆了碎片和复制品的概念 情况1)在下面的pic中:emp索引碎片数=1和副本数=1,这似乎很好,因为主节点不包含副本,碎片数应该是1,所以分配另一个节点中的一个成为它的碎片和副本 情况2)在情况2中,员工索引-i增加了碎片数=2和副本数=2-> 下面那个头部插件在暗示什么 1)我们设置的碎片数量是否存在于每个节点中-例如,在emp