FlycoTabLayout icon indicating copy to clipboard operation
FlycoTabLayout copied to clipboard

textBold="SELECT"

Open yjukh5 opened this issue 8 years ago • 6 comments

app:tl_textSelectColor="#262626" app:tl_textUnselectColor="#262626" app:tl_textBold="SELECT" 如果这样设置,选中加粗,而且选中字体颜色和普通字体颜色一样那就只有第一次进来的时候是加粗的,滑动的时候是没有改变加粗的字体的。

yjukh5 avatar Aug 08 '17 03:08 yjukh5

同样遇到这个问题,如果选中颜色和未选中颜色设置相同,则textBold无效,选中颜色和未选中颜色设置不同则有效,但是设置了textBold = "SELECT"默认第一次都不加粗,只有滑动后才加粗。

guangxingmao avatar Aug 11 '17 07:08 guangxingmao

设置选中字体加粗,首次加载当前title不加粗,我是通过在源码的setCurrentTab(int currentTab)方法里(图中红色框内)自定义了加粗的方法解决了这个问题 image

GrayCarbon avatar Aug 16 '17 07:08 GrayCarbon

看源码我是这样解决的 TextView tv = (TextView) tabLayout.getChildAt(0).findViewById(R.id.tv_tab_title); if (tv!=null){ tv.getPaint().setFakeBoldText(true); } tabLayout.setTextBold(1);

shaoyu0829 avatar Sep 18 '17 10:09 shaoyu0829

使用getTitleView(positoin)获取到TextView直接修改。你这个getChildAt(0)是ViewGroup的方法。

devnns avatar Sep 14 '18 09:09 devnns

同样遇到这个问题,如果选中颜色和未选中颜色设置相同,则textBold无效,选中颜色和未选中颜色设置不同则有效,但是设置了textBold = "SELECT"默认第一次都不加粗,只有滑动后才加粗。

我研究了一下,初步判定是setFakeBoldText这个方法的bug,如果textview的颜色不改变的话,这个方法是不生效的

lizhaolin09 avatar Nov 15 '19 03:11 lizhaolin09

修改源码,在updateTabSelection方法的setFakeBoldText下面增加tab_title.postInvalidate();

goodluckier avatar Aug 01 '23 01:08 goodluckier