title: How to make TabLayout Custom Font , Custom color
body: <p>I looking for TabLayout with following custom behaviour</p>
  
  <ul>
  <li>Custom font</li>
  <li>Text color change on select &amp; un select of Tab</li>
  <li>Bold &amp; normal font on select &amp; un select of Tab</li>
  <li>By default 1st tab should be selected with Bold text</li>
  </ul>
  
  <p>I am attaching following code snippet which all I tried for it.</p>
  
  <p>1) I've created custom view Called FundayTabLayout</p>
  
  <pre><code>&lt;com.knackv.custom.view.FundayTabLayout
      android:id="@id/dashboard_tab_layout"
      style="@style/AppTabLayout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      app:tabTextAppearance="@style/AppTabTextAppearance"&gt;&lt;/com.knackv.custom.view.FundayTabLayout&gt;
  </code></pre>
  
  <p>2) Styles which I've used</p>
  
  <pre><code>&lt;style name="AppTabLayout" parent="Widget.Design.TabLayout"&gt;
      &lt;item name="tabMaxWidth"&gt;@dimen/size_in_150_dp&lt;/item&gt;
      &lt;item name="tabIndicatorColor"&gt;@color/app_background&lt;/item&gt;
      &lt;item name="tabBackground"&gt;@drawable/tab_background_color_selector&lt;/item&gt;
      &lt;item name="tabTextAppearance"&gt;@style/AppTabTextAppearance&lt;/item&gt;
      &lt;item name="tabSelectedTextColor"&gt;@color/app_blue&lt;/item&gt;
  &lt;/style&gt;
  
  &lt;style name="AppTabTextAppearance" parent="TextAppearance.Design.Tab"&gt;
      &lt;item name="android:textColor"&gt;@color/white&lt;/item&gt;
      &lt;item name="android:textSize"&gt;@dimen/size_in_15_dp&lt;/item&gt;
      &lt;item name="textAllCaps"&gt;false&lt;/item&gt;
  &lt;/style&gt;
  </code></pre>
  
  <p>3) setting up my custom font:</p>
  
  <pre><code> @Override
  public void setupWithViewPager(@Nullable ViewPager viewPager) {
      super.setupWithViewPager(viewPager);
  
      this.removeAllTabs();
  
      ViewGroup slidingTabStrip = (ViewGroup) getChildAt(0);
      for (int i = 0, count = viewPager.getAdapter().getCount(); i &lt; count; i++) {
          Tab tab = this.newTab();
          this.addTab(tab.setText(viewPager.getAdapter().getPageTitle(i)));
          AppCompatTextView view = (AppCompatTextView) ((ViewGroup) slidingTabStrip.getChildAt(i)).getChildAt(1);
          view.setAllCaps(false);
          view.setTypeface(Utility.getNormalTypeFace());
      }
  }
  </code></pre>
  
  <p>Please provide me optimum solution for this issue.</p>