Android-skin-support
Android-skin-support copied to clipboard
net.lucode.hackware.magicindicator.MagicIndicator 换肤问题
现有一个问题是MagicIndicator->CommonNavigator里面的CommonNavigatorAdapter 换不了肤问题;有什么解决方案吗 val commonNavigator = CommonNavigator(this) commonNavigator.isAdjustMode = isAdjustMode commonNavigator.adapter = object : CommonNavigatorAdapter() {
override fun getCount(): Int {
return titleList.size
}
override fun getTitleView(context: Context, index: Int): IPagerTitleView {
val view = ColorTransitionPagerTitleView(context)
view.normalColor = normalColor
view.selectedColor = titleSelectColor
view.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize)
view.text = titleList[index]
view.tag = index
view.typeface = Typeface.DEFAULT_BOLD
view.setTextSize(TypedValue.COMPLEX_UNIT_PX, ResUtils.getDimension(R.dimen.x28))
if (!isAdjustMode) {
view.setPadding(
ResUtils.getDimensionPixelOffset(R.dimen.x40), 0, ResUtils.getDimensionPixelOffset(R.dimen.x34), 0
)
}
view.setOnClickListener {
onClickListener(index)
}
view.tag = index
return view
}
override fun getIndicator(context: Context): IPagerIndicator? {
return null
}
}
监听换肤接口,然后刷新就可以commonNavigator.notifyDataSetChanged(); ,normalColor 用SkinCompatResources.getColor(getContext(), R.color.bg_default)这种方式赋值就可以。