Thumbnail art by freepik - freepik.com

Today, I am going to explain to you how can you change the text of View Pager tabs in the tabbed activity of your android app. Many times, we want to customize the minor details in our Android app, but things in Android get confusing at times. This is a very simple yet effective way. So without taking any more time, let’s dive into the codes.

First, you have to create an assets directory(please remember to keep that out of the res folder) and put your font’s .ttf file there.

Then, create a method called setCustomFont() in the tabbed activity. Code it like this:

public void setCustomFont() {
    ViewGroup vg = (ViewGroup) tabs.getChildAt(0);
    int tabsCount = vg.getChildCount();

    for (int j = 0; j < tabsCount; j++) {
        ViewGroup vgTab = (ViewGroup) vg.getChildAt(j);

        int tabChildsCount = vgTab.getChildCount();

        for (int i = 0; i < tabChildsCount; i++) {
            View tabViewChild = vgTab.getChildAt(i);
            if (tabViewChild instanceof TextView) {
                ((TextView) tabViewChild).setTypeface(Typeface.createFromAsset(getAssets(), "font.ttf"));
            }
        }
    }
}

This code has been adapted from this answer.

Here, font.ttf is the .tff file of the font you want to use and the ViewGroup variable vg is the TabLayout in the XML with id: tabs

Change the variables to suit your needs and then call the setCustomFont() function inside the onCreate() method.

With this, you will get your desired font face of the text in the tabs. If you have any problems, understanding this, please don’t hesitate to comment!


Did you learn something new?
Comment it down and spread the word!

Get started at Genics Blog!

Genics Blog is a purely open source publication. Authors at Genics post resourceful content on varied topics relevant for the developer community, join us and start publishing today!

Contribute


Comments

No comments here, start the discussion below!

Add a comment