美文网首页安卓文档
AndroidX的 Tablayout(com.google.a

AndroidX的 Tablayout(com.google.a

作者: XiaoXred | 来源:发表于2020-09-01 16:22 被阅读0次

    1.首先添加依赖:

    以前的是 

    implementation'com.android.support:design:28.0.0'

    换成

    implementation "com.google.android.material:material:1.0.0"

    2.xml布局:

    <com.google.android.material.tabs.TabLayout

            android:id="@+id/tab_layout"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            app:tabGravity="fill"

            app:tabMaxWidth="0dp"

            app:tabIndicatorColor="@color/colorAccent"

            app:tabSelectedTextColor="@color/colorPrimary"

            app:tabTextColor="@color/colorPrimary"

            app:tabIndicatorFullWidth="false"

            app:tabBackground="@color/transparent"

            app:tabRippleColor="@color/transparent"

            >

        </com.google.android.material.tabs.TabLayout>

        <View

            android:layout_width="match_parent"

            android:layout_height="0.5dp"

            android:background="#E4E4E4"

            ></View>

        <androidx.viewpager.widget.ViewPager

            android:id="@+id/viewPager"

            android:layout_width="match_parent"

            android:layout_height="match_parent" >

        </androidx.viewpager.widget.ViewPager>

    3.java代码:

    public class MainActivityB extends AppCompatActivity {

        static final int NUM_ITEMS = 4;

        private List<Fragment> fragmentList = new ArrayList<Fragment>();

        private String[] strings = new String[]{"A","B","C","D"};

        @Override

        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_mainb);

            fragmentList.add(new FragmentA());

            fragmentList.add(new FragmentB());

            fragmentList.add(new FragmentC());

            fragmentList.add(new FragmentD());

            initView();

        }

        private void initView(){

            TabLayout tab_layout = findViewById(R.id.tab_layout);

            ViewPager viewPager = findViewById(R.id.viewPager);

            MyAdapter fragmentAdater = new  MyAdapter(getSupportFragmentManager());

            viewPager.setAdapter(fragmentAdater);

            tab_layout.setupWithViewPager(viewPager);

        }

        public class MyAdapter extends FragmentPagerAdapter {

            public MyAdapter(FragmentManager fm) {

                super(fm);

            }

            @Override

            public int getCount() {

                return NUM_ITEMS;

            }

            @Override

            public Fragment getItem(int position) {

                return fragmentList.get(position);

            }

            @Nullable

            @Override

            public CharSequence getPageTitle(int position) {

                return strings[position];

            }

        }

    }

    4.其他属性:

    app:tabIndicatorColor :指示线的颜色

    app:tabIndicatorHeight : 指示线的高度

    app:tabIndicatorFullWidth="false" 指示线是否铺满宽度

    app:tabSelectedTextColor : tab选中时的字体颜色

    app:tabTextColor="@color/colorPrimary" :未选中字体颜色

    app:tabBackground="color" : 整个tablayout颜色

    app:tabMode="scrollable" : 默认是fixed,固定的;scrollable:可滚动的

    相关文章

      网友评论

        本文标题:AndroidX的 Tablayout(com.google.a

        本文链接:https://www.haomeiwen.com/subject/zmyvsktx.html