Android - 没有标签的刷卡

时间:2014-09-13 02:45:50

标签: android swipe

NoteActivity Code:

public class NoteActivity extends FragmentActivity implements ActionBar.TabListener 
{
        private ViewPager viewPager;
        private TabsPagerAdapter mAdapter;
        private ActionBar actionBar;
        // Tab titles
        private String[] tabs = {"Note", "Note Info"};

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_note);
    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getActionBar();
    mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

    viewPager.setAdapter(mAdapter);
    actionBar.setHomeButtonEnabled(false);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        

    // Adding Tabs
    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(this));
    }
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            actionBar.setSelectedNavigationItem(position);
        }
        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }
    });
}

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    // TODO Auto-generated method stub
    viewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    // TODO Auto-generated method stub

}

@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
    // TODO Auto-generated method stub

    }
}

TabsPageAdapter.Java

public class TabsPagerAdapter extends FragmentPagerAdapter 
{
    public TabsPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int index) {

        switch (index) 
        {
        case 0:
            return new NoteFragment();
        case 1:

            return new NoteInfoFragment();
        }
        return null;
    }

    @Override
    public int getCount() 
    {
        // get item count - equal to number of tabs
        return 2;
    }
}

所以基本上,我使用了Tabs View的一个例子并让Tabs正常工作,它看起来像这样:enter image description here

在没有Tabs显示的情况下,我只需要刷卡即可。一个例子就像Snapchat。它肯定使用滑动视图控件但隐藏了选项卡。有人可以告诉我如何完成这项工作吗?

1 个答案:

答案 0 :(得分:1)

由于您的代码中已经有ViewPager,因此您只需删除创建ActionBar选项卡的代码(在注释// Adding tabs下),以及将选项卡选项与当前页面(从ViewPager.OnPageChangeListenerActionBar.TabListener回调开始,看看是否有任何中断。