最近项目有一个需求,就是标题的选中项需要加粗放大,由于项目中使用的都是TabLayout 而TabLayout又没有相应的属性支持,只好自己想办法了!
TabLayout 可以自定义选中项的UI,所以可以从这方面入手,
最后的解决办法是为TabLayout 添加一个监听,并在监听中自定义选中项UI,代码和布局文件如下
mTabLayout.addOnTabSelectedListener(new ZTabLayout.OnTabSelectedListener() {@Overridepublic void onTabSelected(ZTabLayout.Tab tab) {mViewPager.Position());View view = CustomView();if (null == view) {tab.setCustomView(R.layout.tab_layout_text);}TextView textView = CustomView().findViewById(android.1);textView.setTextAppearance(FinancialMainActivity.this, R.style.TabLayoutTextSize);}@Overridepublic void onTabUnselected(ZTabLayout.Tab tab) {mViewPager.Position());View view = CustomView();if (null == view) {tab.setCustomView(R.layout.tab_layout_text);}TextView textView = CustomView().findViewById(android.1);textView.setTextAppearance(FinancialMainActivity.this, R.style.TabLayoutTextSize_two);}@Overridepublic void onTabReselected(ZTabLayout.Tab tab) {}}); //监听一定要在setupWithViewPager方法之前添加,mTabLayout.setupWithViewPager(mViewPager);
用到的布局文件如下
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android=""android:id="@android:id/text1"android:textColor="@color/color_white"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"/>
选中样式加粗和放大字体,写在style中
<style name="TabLayoutTextSize"><item name="android:textStyle">bold</item><item name="android:textSize">18sp</item></style>
默认字体
<style name="TabLayoutTextSize_two"><item name="android:textSize">@dimen/font16</item><item name="android:textStyle">normal</item></style>
本文发布于:2024-01-29 13:36:37,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170650660015643.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |