@@ -3,6 +3,7 @@ package com.angcyo.tablayout
3
3
import android.content.Context
4
4
import android.graphics.Color
5
5
import android.graphics.Paint
6
+ import android.graphics.Typeface
6
7
import android.util.AttributeSet
7
8
import android.util.TypedValue
8
9
import android.view.View
@@ -51,6 +52,10 @@ open class DslTabLayoutConfig(val tabLayout: DslTabLayout) : DslSelectorConfig()
51
52
/* *是否开启Bold, 文本加粗*/
52
53
var tabEnableTextBold = false
53
54
55
+ /* *是否使用粗体字体的方式设置粗体, 否则使用[Paint.FAKE_BOLD_TEXT_FLAG]
56
+ * 需要先激活[tabEnableTextBold]*/
57
+ var tabUseTypefaceBold = false
58
+
54
59
/* *是否开启图标颜色*/
55
60
var tabEnableIcoColor = true
56
61
@@ -237,6 +242,11 @@ open class DslTabLayoutConfig(val tabLayout: DslTabLayout) : DslSelectorConfig()
237
242
tabEnableTextBold
238
243
)
239
244
245
+ tabUseTypefaceBold = typedArray.getBoolean(
246
+ R .styleable.DslTabLayout_tab_use_typeface_bold ,
247
+ tabUseTypefaceBold
248
+ )
249
+
240
250
tabEnableGradientScale = typedArray.getBoolean(
241
251
R .styleable.DslTabLayout_tab_enable_gradient_scale ,
242
252
tabEnableGradientScale
@@ -277,11 +287,21 @@ open class DslTabLayoutConfig(val tabLayout: DslTabLayout) : DslSelectorConfig()
277
287
// 文本加粗
278
288
paint?.apply {
279
289
if (tabEnableTextBold && select) {
280
- flags = flags or Paint .FAKE_BOLD_TEXT_FLAG
281
- isFakeBoldText = true
290
+ // 设置粗体
291
+ if (tabUseTypefaceBold) {
292
+ typeface = Typeface .defaultFromStyle(Typeface .BOLD )
293
+ } else {
294
+ flags = flags or Paint .FAKE_BOLD_TEXT_FLAG
295
+ isFakeBoldText = true
296
+ }
282
297
} else {
283
- flags = flags and Paint .FAKE_BOLD_TEXT_FLAG .inv ()
284
- isFakeBoldText = false
298
+ // 取消粗体
299
+ if (tabUseTypefaceBold) {
300
+ typeface = Typeface .defaultFromStyle(Typeface .NORMAL )
301
+ } else {
302
+ flags = flags and Paint .FAKE_BOLD_TEXT_FLAG .inv ()
303
+ isFakeBoldText = false
304
+ }
285
305
}
286
306
}
287
307
0 commit comments