Как установить 2 вкладка занимает равную ширину в tablayout - PullRequest
0 голосов
/ 16 февраля 2019

Я добавляю 2 вкладки в TabLayout, и следующий код - мой.

<com.google.android.material.tabs.TabLayout
    android:id="@+id/tabLayout"
    style="@style/AppTabLayout"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:layout_gravity="center"
    app:tabBackground="@drawable/tab_selector_statistics"
    android:background="@drawable/tab_statistics"
    app:tabContentStart="24dp"
    app:tabGravity="fill"
    app:tabMode="fixed"
    app:tabSelectedTextColor="@color/white"
    app:tabTextColor="@color/black"
    app:layout_constraintBottom_toBottomOf="@+id/view5"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="@+id/view5"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true" />

Я получаю следующий вывод.

enter image description here

Но я хочу, чтобы вкладки занимали всю ширину экрана, как показано ниже.

enter image description here

Ниже приводится мой AppTabLayoutстиль, определенный в файле styles.xml.

<style name="AppTabLayout" parent="Widget.Design.TabLayout">
    <item name="tabIndicatorColor">@null</item>
    <item name="tabIndicatorHeight">1dp</item>
    <item name="tabPaddingStart">16dp</item>
    <item name="tabPaddingEnd">16dp</item>
    <item name="tabSelectedTextColor">@color/white</item>
</style>

Ответы [ 6 ]

0 голосов
/ 26 февраля 2019
    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tabs"
        android:layout_width="0dp"
        android:layout_height="34.5dp"
        android:elevation="@dimen/dimen_10"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/overTimeCV"
        app:tabMode="fixed"/>

Проверьте с этим TabLayout вместе с viewPager

0 голосов
/ 23 февраля 2019

Просто сделайте, как показано ниже.Это работа для меня.

<android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:tabBackground="@color/colorPrimary"
                app:tabIndicatorColor="@android:color/white"
                app:tabTextColor="@android:color/white"
                app:tabMode="fixed"
                app:tabGravity="fill"/>
0 голосов
/ 23 февраля 2019

Использовать стиль

<style name="MyTabLayout" parent="Widget.Design.TabLayout">
    <item name="tabGravity">fill</item>
    <item name="tabMaxWidth">0dp</item>
</style>

или

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

ссылка

табуляция по всей ширине

0 голосов
/ 23 февраля 2019

Вы должны использовать stretchColumns в Table Layout

<TableLayout
        android:stretchColumns="*">
        <TableRow
            android:layout_width="0dp">
    <TableRow
            android:layout_width="0dp">
</TableLayout>
0 голосов
/ 23 февраля 2019

match_parent не поддерживается ConstraintLayout.Установите для ширины 0dp, чтобы она соответствовала ограничениям.

android:layout_width="0dp"

Из официального документа :

Важно: MATCH_PARENT не рекомендуется для виджетов, содержащихся вConstraintLayout.Подобное поведение может быть определено с помощью MATCH_CONSTRAINT с соответствующими левыми / правыми или верхними / нижними ограничениями, установленными в «parent».

0 голосов
/ 17 февраля 2019

Просто добавьте следующее.Если это работает, то, пожалуйста, дайте мне знать и проголосуйте.

            android:layout_width="match_parent"
            android:layout_height="30dp"
            app:tabMaxWidth="0dp"
            app:tabGravity="fill"
            app:tabMode="fixed"
...