TabLayout+ViewPage导航栏

编程入门 行业动态 更新时间:2024-10-20 20:55:31

<a href=https://www.elefans.com/category/jswz/34/1727227.html style=TabLayout+ViewPage导航栏"/>

TabLayout+ViewPage导航栏

一:添加依赖

compile 'com.android.support:design:xx.1.1'

二:布局代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""xmlns:app=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><android.support.v4.view.ViewPager
        android:id="@+id/viewPager"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:scrollbars="none"/><android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"android:layout_width="match_parent"android:layout_height="50dp"app:tabGravity="fill"app:tabIndicatorHeight="0dp"app:tabMode="fixed"app:tabSelectedTextColor="#FF4081"app:tabTextColor="#000"/></LinearLayout>

三:创建Fragment。例子

public class FragmentOne extends Fragment {@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_one, container, false);return view;}
}

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextView
        android:id="@+id/text"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="12311" />
</LinearLayout>

四:viewpage 设置Adapter(FragmentPageAdapter)

viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {private String[] mTitle = new String[]{"111", "222", "333", "444"};@Overridepublic Fragment getItem(int position) {switch (position) {case 1:return new FragmentTwo();case 2:return new FragmentThree();case 3:return new FragmentFour();}return new FragmentOne();}@Overridepublic int getCount() {return mTitle.length;}@Overridepublic CharSequence getPageTitle(int position) {return mTitle[position];}});

五:tablayout和viewpage进行关联

        tabLayout.setupWithViewPager(viewPager);one = tabLayout.getTabAt(0);two = tabLayout.getTabAt(1);three = tabLayout.getTabAt(2);four = tabLayout.getTabAt(3);one.setIcon(getResources().getDrawable(R.drawable.one));two.setIcon(getResources().getDrawable(R.drawable.one));three.setIcon(getResources().getDrawable(R.drawable.one));four.setIcon(getResources().getDrawable(R.drawable.one));

activity完整:

public class MainActivity extends AppCompatActivity {private TabLayout tabLayout;private ViewPager viewPager;private TabLayout.Tab one, two, three, four;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initViews();}private void initViews() {tabLayout = (TabLayout) findViewById(R.id.tabLayout);tabLayout.setTabMode(TabLayout.MODE_FIXED);viewPager = (ViewPager) findViewById(R.id.viewPager);viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {private String[] mTitle = new String[]{"111", "222", "333", "444"};@Overridepublic Fragment getItem(int position) {switch (position) {case 1:return new FragmentTwo();case 2:return new FragmentThree();case 3:return new FragmentFour();}return new FragmentOne();}@Overridepublic int getCount() {return mTitle.length;}@Overridepublic CharSequence getPageTitle(int position) {return mTitle[position];}});tabLayout.setupWithViewPager(viewPager);one = tabLayout.getTabAt(0);two = tabLayout.getTabAt(1);three = tabLayout.getTabAt(2);four = tabLayout.getTabAt(3);one.setIcon(getResources().getDrawable(R.drawable.one));two.setIcon(getResources().getDrawable(R.drawable.one));three.setIcon(getResources().getDrawable(R.drawable.one));four.setIcon(getResources().getDrawable(R.drawable.one));}
}

更多推荐

TabLayout+ViewPage导航栏

本文发布于:2024-03-06 07:20:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1714717.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:TabLayout   ViewPage

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!