MagicIndicator不与ViewPager连用的用法

   private fun initMagicIndicator() {
        var fragmentContainerHelper = FragmentContainerHelper()
        fragmentContainerHelper.handlePageSelected(0)
        var typeList = resources.getStringArray(R.array.home_currency_type).toList()
        var commonNavigator = CommonNavigator(activity)
        commonNavigator.isAdjustMode = true
        commonNavigator.adapter = object : CommonNavigatorAdapter() {
            override fun getCount() = typeList.size

            override fun getTitleView(context: Context?, index: Int): IPagerTitleView {
                var textView = SimplePagerTitleView(context)

                context?.let {
                    textView.selectedColor =
                        ContextCompat.getColor(it, com.xinfa.base.R.color.base_term_2)
                    textView.normalColor =
                        ContextCompat.getColor(it, com.xinfa.base.R.color.base_country_color)
                }
                textView.text = typeList[index]
                textView.setOnClickListener {
                    fragmentContainerHelper.handlePageSelected(index)
                    
                }
                return textView
            }

            override fun getIndicator(context: Context?): IPagerIndicator {
                var indicator = NoViewPagerLinePagerIndicator(context)
                indicator.apply {
                    mode = MODE_EXACTLY
                    lineHeight = DisplayMetricsUtil.dip2px(context, 2.0F).toFloat()
                    lineWidth = DisplayMetricsUtil.dip2px(context, 16.0F).toFloat()
                    roundRadius = DisplayMetricsUtil.dip2px(context, 2.0F).toFloat()
                }
                return indicator
            }
        }
        viewBinding.magicIndicator.navigator = commonNavigator
        fragmentContainerHelper.attachMagicIndicator(viewBinding.magicIndicator)
    }
package com.xinfa.base.views;

import android.content.Context;

import androidx.core.content.ContextCompat;

import com.xinfa.base.R;

import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator;

public class NoViewPagerLinePagerIndicator extends LinePagerIndicator {
    private Context context;
    public NoViewPagerLinePagerIndicator(Context context) {
        super(context);
        this.context = context;
    }

    @Override
    public void onPageSelected(int position) {
        super.onPageSelected(position);
        getPaint().setColor(ContextCompat.getColor(context,R.color.base_term_2));
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值