AndroidX的 Tablayout(com.google.android.material.tabs.TabLayout) 的使用

1.首先添加依赖:

以前的是 

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

换成

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

2.xml布局:

        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"

        >

   

   

        android:layout_width="match_parent"

        android:layout_height="0.5dp"

        android:background="#E4E4E4"

        >

   

        android:id="@+id/viewPager"

        android:layout_width="match_parent"

        android:layout_height="match_parent" >

   

3.java代码:

public class MainActivityB extends AppCompatActivity {

    static final int NUM_ITEMS = 4;

    private List fragmentList = new ArrayList();

    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.android.material.tabs.TabLayout) 的使用)