【问题标题】:Android viewpager fragmentAndroid 浏览器片段
【发布时间】:2016-10-14 02:24:50
【问题描述】:

我需要创建一个包含一个 Activity 和 3 个片段的应用。页面不需要动态创建,但它是一个加号。我的问题是:我是否需要为每个视图使用单独的片段,或者我可以重用具有不同视图的片段?我已经阅读了这里的 android 教程https://developer.android.com/training/animation/screen-slide.html#viewpager 查看寻呼机,它给我留下了这样的印象。它是一个重要的项目。我是菜鸟,所以请解释一下。

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    我假设您想要 3 个全屏片段。使用 ViewPagerFragmentPagerAdapter

    public class MyFragment extends Fragment {
    
        @BindView(R.id.view_pager)
        ViewPager viewPager;
        MyPagerAdapter pagerAdapter;
    
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            return inflater.inflate(R.layout.my_fragment, container, false);
        }
    
        @Override
        public void onViewCreated(View view, Bundle savedInstanceState) {
            super.onViewCreated(view, savedInstanceState);
            pagerAdapter = new MyPagerAdapter(getFragmentManager());
            viewPager.setAdapter(pagerAdapter);
        }
    
    }
    

    my_fragment.xml:

    <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    

    MyPagerAdapter.java:

    public class MyPagerAdapter extends FragmentPagerAdapter {
    
        static final int NUM_PAGES = 3;
    
        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }
    
        @Override
        public Fragment getItem(int position) {
            switch (position) {
                case 0:
                    return new Fragment1();
                case 1:
                    return new Fragment2();
                case 2:
                    return new Fragment3();
            }
        }
    
        @Override
        public int getCount() {
            return NUM_PAGES;
        }
    }
    

    这将允许向右或向左滑动以在片段之间切换。除了滑动之外,您还必须使用TabLayout、底部导航、按钮或其他方式在它们之间切换。我会留给你弄清楚;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 1970-01-01
      相关资源
      最近更新 更多