tablayout 选中文字加粗

使用tablayout选中的文字颜色不变,只是加粗,怎么弄呢?

阅读 5.7k
1 个回答

参考:https://www.cnblogs.com/haiha...
如果不使用CustomView,使用系统默认的。把上文中updateTabTextView方法改为:

private void updateTabTextView(TabLayout.Tab tab, boolean isSelect) {
        if (isSelect) {
            try {
                java.lang.reflect.Field fieldView= tab.getClass().getDeclaredField("mView");
                fieldView.setAccessible(true);
                View view= (View) fieldView.get(tab);
                java.lang.reflect.Field fieldTxt= view.getClass().getDeclaredField("mTextView");
                fieldTxt.setAccessible(true);
                TextView tabSelect= (TextView) fieldTxt.get(view);
                tabSelect.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
                tabSelect.setText(tab.getText());
            } catch (Exception e) {
                e.printStackTrace();
            }

        } else {
            try {
                java.lang.reflect.Field fieldView= tab.getClass().getDeclaredField("mView");
                fieldView.setAccessible(true);
                View view= (View) fieldView.get(tab);
                java.lang.reflect.Field fieldTxt= view.getClass().getDeclaredField("mTextView");
                fieldTxt.setAccessible(true);
                TextView tabSelect= (TextView) fieldTxt.get(view);
                tabSelect.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
                tabSelect.setText(tab.getText());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题