MagicIndicator
MagicIndicator copied to clipboard
小概率(但总时不时发生),指示器会连成线
版本:1.6.0
手机:小米8SE(其他手机上没出现这问题,不知道是不是小米独有的)。
系统:9.0
问题:小概率(但总时不时发生),指示器会连成线。就是两个选项之间会被一个指示器相连
异常情况:
正常情况:

代码:
val commonNavigator = CommonNavigator(baseActivity)
commonNavigator.isAdjustMode = true
commonNavigator.adapter = object : CommonNavigatorAdapter() {
override fun getCount(): Int {
return mTitleDataList?.size ?: 0
}
override fun getTitleView(context: Context, index: Int): IPagerTitleView {
val colorTransitionPagerTitleView = ColorTransitionPagerTitleView(context)
colorTransitionPagerTitleView.normalColor = Color.GRAY
colorTransitionPagerTitleView.selectedColor = Color.BLACK
colorTransitionPagerTitleView.text = mTitleDataList[index]
colorTransitionPagerTitleView.setOnClickListener { ViewPager.currentItem = index }
return colorTransitionPagerTitleView
}
override fun getIndicator(context: Context): IPagerIndicator {
val indicator = LinePagerIndicator(context)
indicator.lineWidth = ConvertUtils.dp2px(30f).toFloat()
indicator.roundRadius = ConvertUtils.dp2px(3f).toFloat()
indicator.setColors(Color.parseColor("#0365FF"))
indicator.mode = LinePagerIndicator.MODE_EXACTLY
return indicator
}
}
Indicator.navigator = commonNavigator
val titleContainer: LinearLayout = commonNavigator.titleContainer
titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
titleContainer.gravity = Gravity.CENTER
titleContainer.dividerPadding = ConvertUtils.dp2px(110f)
ViewPagerHelper.bind(Indicator, ViewPager)
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/Layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorWhite">
<View
android:id="@+id/StateView"
android:layout_width="match_parent"
android:layout_height="1dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<android.support.v4.view.ViewPager
android:id="@+id/ViewPager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:overScrollMode="never"
android:scrollbars="none"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/Indicator"/>
<android.support.constraint.helper.Layer
android:id="@+id/Layer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_white_gradient_shadow_bottom"
app:constraint_referenced_ids="Back,Right,Indicator"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/StateView"/>
<ImageView
android:id="@+id/Back"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:src="@mipmap/ic_back_black"
app:layout_constraintBottom_toBottomOf="@+id/Indicator"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/StateView"/>
<View
android:id="@+id/Right"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/Back"/>
<net.lucode.hackware.magicindicator.MagicIndicator
android:id="@+id/Indicator"
android:layout_width="match_parent"
android:layout_height="48dp"
android:paddingLeft="80dp"
android:paddingRight="80dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/StateView"/>
<ImageView
android:id="@+id/HintImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:src="@mipmap/bg_guide_hint"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/Back"/>
<TextView
android:id="@+id/HintText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="价目表在这里呦!"
android:textColor="@color/colorWhite"
android:textSize="@dimen/text_size_h2"
app:layout_constraintBottom_toBottomOf="@id/HintImg"
app:layout_constraintLeft_toLeftOf="@id/HintImg"
app:layout_constraintRight_toRightOf="@id/HintImg"
app:layout_constraintTop_toTopOf="@id/HintImg"/>
<android.support.constraint.Group
android:id="@+id/GuideGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="HintImg,HintText"/>
</android.support.constraint.ConstraintLayout>
我也有这样的现象,小概率。。。我自己测试过程中出现了。我也是小米手机,一般是第一个 tab 切换时出现。第二个第三个切换好像不会