1 year ago

#273521

test-img

mefahimrahman

set a custom style into app:tabTextAppearance programatically for material tabLayout

Recently I'm start using MDC's tabLayout and with the help of some answers of stackoverflow I'm able to change tabTextAppearance from xml -

<com.google.android.material.tabs.TabLayout
        android:id="@+id/customTabLayout"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_gravity="center_horizontal"
        android:background="#FFFFFF"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:tabGravity="fill"
        app:tabIndicator="@drawable/{custom_drawable_to_decrease_the_width_of_the_indicator}"
        app:tabIndicatorFullWidth="false"
        app:tabIndicatorHeight="1dp"
        app:tabMaxWidth="0dp"
        app:tabMode="scrollable"
        app:tabRippleColor="@null"
        app:tabTextAppearance="@style/CustomTabLayoutTextStyle" >

and In the CustomTabLayoutTextStyle I'm able to change the size, styles -

<style name="CustomTabLayoutTextStyle" parent="TextAppearance.Design.Tab">
    <item name="textAllCaps">false</item>
    <item name="android:textSize">12sp</item>
    <item name="android:textStyle">normal</item>
</style>

But Now, I don't want to use xml and instead created a CustomView extending Material TabLayout and set these attributes programatically. I've successfully able to set almost all of the attributes -

 this.tabMode = MODE_SCROLLABLE
 this.tabRippleColor = null
 this.isTabIndicatorFullWidth = false
 this.minimumWidth = 0
 this.tabGravity = GRAVITY_FILL

But the problem is I cannot able to set the tabTextAppearance value programatically. I want to add CustomTabLayoutTextStyle programatically to get that style in my custom TabLayout. (I'm using matrial:1.4.0 in my project)

Anyone would you please give me some idea on how can I add customTextStyle on Material TabLayout programatically?

Thanks & Regards

android

android-tablayout

kotlin-android

0 Answers

Your Answer

Accepted video resources