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

984 Views Asked by At

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

0

There are 0 best solutions below