如何使用Swipe视图实现android TabLayout设计支持libarary

我将使用android TabLayout设计支持库,但我不知道如何使用滑动视图。

这是我的代码

XML:

 

Java的:

 TabLayout tabLayout; tabLayout = (TabLayout) findViewById(R.id.tabLayout); tabLayout.addTab(tabLayout.newTab().setText("Tab 1")); tabLayout.addTab(tabLayout.newTab().setText("Tab 2")); tabLayout.addTab(tabLayout.newTab().setText("Tab 3")); 

派对有点晚了,但要做到这一点,你必须使用ViewPager类并为每个视图使用片段(在选项卡下)。 然后将ViewPager附加到TabLayout实例和宾果游戏! 你有刷卡tabLayout。

以下是我的一些使用两个标签的工作代码:

MyActivity.java:

 super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); // Initializing tab and pager views TabLayout tabLayout = (TabLayout) findViewById(R.id.my_tab_layout); final ViewPager viewPager = (ViewPager) findViewById(R.id.my_view_pager); // Making new tabs and adding to tabLayout tabLayout.addTab(tabLayout.newTab().setText("First Tab")); tabLayout.addTab(tabLayout.newTab().setText("Second Tab")); // Adding fragments to a list List fragments = new Vector(); fragments.add(Fragment.instantiate(this, MyFirstTabFragment.class.getName())); fragments.add(Fragment.instantiate(this, MySecondTabFragment.class.getName())); // Attaching fragments into tabLayout with ViewPager viewPager.setAdapter(new SectionPagerAdapter(getSupportFragmentManager(), fragments)); tabLayout.setupWithViewPager(viewPager); 

SectionPagerAdapter.java

 import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import java.util.List; public class SectionPagerAdapter extends FragmentPagerAdapter { private List fragments; public SectionPagerAdapter(FragmentManager fm, List fragments) { super(fm); this.fragments = fragments; } @Override public Fragment getItem(int position) { return this.fragments.get(position); } @Override public int getCount() { return this.fragments.size(); } @Override public CharSequence getPageTitle(int position) { switch (position) { case 0: return "First Tab"; case 1: default: return "Second Tab"; } } } 

MyFirstTabFragment.java:

 public class MyFirstTabFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Declare your first fragment here return inflater.inflate(R.layout.my_first_fragment_layout, container, false); } } 

MySecondTabFragment.java:

 public class MySecondTabFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Declare your second fragment here return inflater.inflate(R.layout.my_second_fragment_layout, container, false); } } 

main_layout.xml

       

my_first_fragment_layout.xml

     

my_second_fragment_layout.xml

     

注意:这里我们使用来自支持库v4的ViewPagerFragmentFragmentManagerFragmentPagerAdapter

希望能帮助到你。

将此行添加到您的Java代码: – tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);

或者您也可以在xml代码中指定: – app:tabMode="scrollable"