美文网首页安卓文档
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