在抽屉导航中使用滑动视图

时间:2015-07-05 14:41:37

标签: android navigation-drawer swipeview

我做了一个navigation drawer并且listview已经完成了,现在我决定了它的主要内容。但是我有一个,现在我要用滑动视图替换它。但我无法在任何地方找到任何滑动视图抽屉导航教程。我看到,在一个平淡无奇的活动中,你扩展了片段活动,但由于我使用ActionBarActivity导航,我已经扩展了其他内容。所以我现在不知道该怎么做。

请给我一个提示

1 个答案:

答案 0 :(得分:0)

基本上你需要一个解释ViewPager实现的教程

这里有一个好tutorial

listviewadapter实施非常相似。您将在布局文件中拥有一个视图寻呼机,就像您有listview一样。

    <android.support.v4.view.ViewPager
    android:id="@+id/my_viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

然后你需要一个适配器和视图来填充该适配器。 FragmentPagerAdapter会为你做这个伎俩。这通常是我实现这个

的方式
        List<ViewPagerAdapter.FragmentTabItem> fragmentList = new ArrayList<>();

    fragmentList.add(new ViewPagerAdapter.FragmentTabItem(MyFragmentOne.newInstance(),
            getString(R.string.one)));
    fragmentList.add(new ViewPagerAdapter.FragmentTabItem(MyFragmentTwo.newInstance(),
            getString(R.string.two)));

    ViewPagerAdapter adapter
            = new ViewPagerAdapter(getChildFragmentManager() , fragmentList);
    mViewPager.setAdapter(adapter);

这是我的通用适配器实现

public class ViewPagerAdapter extends FragmentPagerAdapter {

List<FragmentTabItem> mFragmentTabItems;
public ViewPagerAdapter(FragmentManager fm,
                        List<FragmentTabItem> fragmentTabItems) {
    super(fm);
    mFragmentTabItems = fragmentTabItems;
}

@Override
public Fragment getItem(int position) {
    return mFragmentTabItems.get(position % mFragmentTabItems.size()).getFragment();
}

@Override
public int getCount() {
    if(mFragmentTabItems != null)
        return mFragmentTabItems.size();
    else
        return 0;
}

@Override
public CharSequence getPageTitle(int position) {
    return mFragmentTabItems.get(position % mFragmentTabItems.size()).getTitle();
}

public static class FragmentTabItem {
    @Getter
    @Setter Fragment fragment;
    @Getter @Setter
    String title;

    public FragmentTabItem(Fragment fragment, String title) {
        this.fragment = fragment;
        this.title = title;
    }
}}