1

在我的应用程序(材料设计)中,我想显示(说)10个选项卡。在这些标签中,标签条应该是例如4.现在标签栏显示每个标签有两个字母的所有标签标题。 如何创建滑动标签页?所以我可以滚动标签条到正确的标签? 我知道有一个定制的标签条,我想尽可能使用标准设施。Android - 材料设计:带滑动标签的标签条(标题)

1 - 安装的标签寻呼机:

private void setupTabPager() { 
    viewPager = (ViewPager) findViewById(R.id.pager); 
    final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount()); 
    viewPager.setAdapter(adapter); 
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); 
    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      // UserFeedback.show("Tab selected: " + tab.getText()); 
      viewPager.setCurrentItem(tab.getPosition()); 
     } 
     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 
     } 
     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 
     } 
    }); 
} 

2 - 安装的标签布局:

private void setupTablayout() { 
    tabLayout = (TabLayout) findViewById(R.id.tabLayout); 
    if (tabLayout == null) { 
     return; 
    } 
    // tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 
    tabLayout.setTabGravity(TabLayout.MODE_SCROLLABLE); 
    tabLayout.addTab(tabLayout.newTab().setText("Folders")); 
    tabLayout.addTab(tabLayout.newTab().setText("Items")); 

3 - 的PageAdapter延伸FragmentStatePagerAdapter:

public class PagerAdapter extends FragmentStatePagerAdapter { 
    int mNumOfTabs; 
    public PagerAdapter(FragmentManager fm, int NumOfTabs) { 
     super(fm); 
     this.mNumOfTabs = NumOfTabs; 
    } 
    @Override 
    public Fragment getItem(int position) { 
     switch (position) { 
      case MainActivity.FRAGMENT_GROUPS_AND_ITEMS: 
       return new FragmentGroupsAndItems(); 
      case MainActivity.FRAGMENT_FOLDERS: 
       return new FragmentFolders(); 
    .... } 

回答

1

为什么不你把标签放在Horizo​​ntalScrollView里面吗?

它可能会帮助你。