提问者:小点点

如何适应标签宽度屏幕在android


我使用android支持库实现选项卡布局,看起来像

这里的标签宽度不适合屏幕,我的布局是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <android.support.design.widget.TabLayout
        android:id="@+id/sliding_tabs"

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="scrollable" />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_weight="1"
        android:background="@android:color/white" />

</LinearLayout>

共3个答案

匿名用户

尝试在您的TabLayout上调用这些方法:

tabLayout.setTabMode(TabLayout.MODE_FIXED);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

匿名用户

一个“更简单”的答案只是在TabLayout xml中添加app: tabMaxWidth="0dp":

<android.support.design.widget.TabLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMaxWidth="0dp"
            app:tabGravity="fill"
            app:tabMode="fixed" />

匿名用户

改变这条线

 app:tabMode="scrollable"
 

 app:tabMode="fixed"

并添加

app:tabGravity="fill"
app:tabMaxWidth="0dp"

你们最后的摊位将是

 <android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabMode="scrollable"
    app:tabGravity="fill"
    app:tabMaxWidth="0dp" />