0

I've implemented a standard tab layout with 3 fragments with custom tab view as mentioned in this post.

The problem is the titles in the tabs are very long in some languages. For example, "Unsolved cases" in Finnish language is "ratkaisemattomat tapaukset" which causes this:

Tab layout problem

Custom view implementation

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@color/colorPrimary">

    <TextView
        android:id="@+id/text_header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ffffff"
        android:textSize="16sp"/>

</FrameLayout>

Tab Layout XML

<androidx.coordinatorlayout.widget.CoordinatorLayout
        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">

    <com.google.android.material.appbar.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <com.google.android.material.tabs.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:tabTextColor="#fff"
                app:tabGravity="fill"
                app:tabSelectedTextColor="#000"/>

    </com.google.android.material.appbar.AppBarLayout>

    <androidx.viewpager.widget.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

I understand if this is not recommended by Google in having a large text in tabs but the translated text is too long.

I need a way by which I can dynamically scale the tab height with the length of the text. I cannot give static height in the xml file. Is there any way I can achieve this?

MVK059
  • 351
  • 3
  • 14

0 Answers0