H07000223 / FlycoTabLayout

An Android TabLayout Lib
MIT License
11.04k stars 2.42k forks source link

能否做个选中字体变大 #521

Open XingAndroid opened 3 years ago

XingAndroid commented 3 years ago

选中字体变大,未选中正常

HarryPotterr commented 3 years ago

楼主找到了吗 同问

ZuJunJun commented 3 years ago

楼主找到了吗 同问

拉下来在updateTabStyles方法里增加tv_tab_title.setTextSize(i == mCurrentTab ? mSelectedTextSize : mUnSelectTextSize);

QianHong commented 3 years ago
mBinding.tabView.tabLayout.setOnTabSelectListener(new OnTabSelectListener() {
            @Override
            public void onTabSelect(int position) {
                setTextSize(position);
            }

            @Override
            public void onTabReselect(int position) {
            }
        });
 private void setTextSize(int position) {
        for (int i = 0; i < mBinding.tabView.tabLayout.getTabCount(); i++) {
            TextView textView = mBinding.tabView.tabLayout.getTitleView(i);
            if (position == i) {
                textView.setTextSize(18);
                textView.setTypeface(Typeface.DEFAULT_BOLD);
            } else {
                textView.setTextSize(16);
                textView.setTypeface(Typeface.DEFAULT);
            }
        }
    }

第一次进入时无效 ,则在数据和初始操作设置完成后,调用一下setTextSize(mBinding.tabView.tabLayout.getCurrentTab());即可 此方法适用于无法修改源码的情况

yecaler commented 3 years ago
mBinding.tabView.tabLayout.setOnTabSelectListener(new OnTabSelectListener() {
           @Override
           public void onTabSelect(int position) {
               setTextSize(position);
           }

           @Override
           public void onTabReselect(int position) {
           }
       });
 private void setTextSize(int position) {
        for (int i = 0; i < mBinding.tabView.tabLayout.getTabCount(); i++) {
            TextView textView = mBinding.tabView.tabLayout.getTitleView(i);
            if (position == i) {
                textView.setTextSize(18);
                textView.setTypeface(Typeface.DEFAULT_BOLD);
            } else {
                textView.setTextSize(16);
                textView.setTypeface(Typeface.DEFAULT);
            }
        }
    }

第一次进入时无效 ,则在数据和初始操作设置完成后,调用一下setTextSize(mBinding.tabView.tabLayout.getCurrentTab());即可 此方法适用于无法修改源码的情况 刚才试了,点击没问题,但是滑动还是有问题。

junixapp commented 3 years ago

@ZuJunJun @XingAndroid @QianHong @yecaler @HarryPotterr https://github.com/li-xiaojun/FlycoTabLayout 增强版,androidx, 支持设置选中字体大小和自定义字体

1mean commented 2 years ago

楼主找到了吗 同问

拉下来在updateTabStyles方法里增加tv_tab_title.setTextSize(i == mCurrentTab ? mSelectedTextSize : mUnSelectTextSize);

谢啦兄弟