Android-skin-support icon indicating copy to clipboard operation
Android-skin-support copied to clipboard

net.lucode.hackware.magicindicator.MagicIndicator 换肤问题

Open tzl1990 opened this issue 4 years ago • 1 comments

现有一个问题是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
    }
}

tzl1990 avatar Nov 18 '20 17:11 tzl1990

监听换肤接口,然后刷新就可以commonNavigator.notifyDataSetChanged(); ,normalColor 用SkinCompatResources.getColor(getContext(), R.color.bg_default)这种方式赋值就可以。

yanxuwen avatar Jul 23 '21 08:07 yanxuwen