From aaae2e7d8cc4717db9133d8fec00c5f1261a0c3d Mon Sep 17 00:00:00 2001 From: cgspine Date: Mon, 11 May 2020 15:14:02 +0800 Subject: [PATCH] deliver offsetPercent to QMUITabIndicator --- .../qmui/widget/tab/QMUIBasicTabSegment.java | 4 ++-- .../qmuiteam/qmui/widget/tab/QMUITabIndicator.java | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/qmui/src/main/java/com/qmuiteam/qmui/widget/tab/QMUIBasicTabSegment.java b/qmui/src/main/java/com/qmuiteam/qmui/widget/tab/QMUIBasicTabSegment.java index 66ea95bf..76fa9787 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/widget/tab/QMUIBasicTabSegment.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/widget/tab/QMUIBasicTabSegment.java @@ -534,7 +534,7 @@ public class QMUIBasicTabSegment extends HorizontalScrollView implements IQMUILa if (model == null || mIndicator == null) { return; } - mIndicator.updateInfo(model.contentLeft, model.contentWidth, model.selectedColorAttr == 0 ? model.selectColor : QMUISkinHelper.getSkinColor(this, model.selectedColorAttr)); + mIndicator.updateInfo(model.contentLeft, model.contentWidth, model.selectedColorAttr == 0 ? model.selectColor : QMUISkinHelper.getSkinColor(this, model.selectedColorAttr), 0f); if (invalidate) { mContentLayout.invalidate(); } @@ -552,7 +552,7 @@ public class QMUIBasicTabSegment extends HorizontalScrollView implements IQMUILa preModel.selectedColorAttr == 0 ? preModel.selectColor : QMUISkinHelper.getSkinColor(this, preModel.selectedColorAttr), targetModel.selectedColorAttr == 0 ? targetModel.selectColor : QMUISkinHelper.getSkinColor(this, targetModel.selectedColorAttr), offsetPercent); - mIndicator.updateInfo(targetLeft, targetWidth, indicatorColor); + mIndicator.updateInfo(targetLeft, targetWidth, indicatorColor, offsetPercent); mContentLayout.invalidate(); } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/widget/tab/QMUITabIndicator.java b/qmui/src/main/java/com/qmuiteam/qmui/widget/tab/QMUITabIndicator.java index 761961be..d814bd51 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/widget/tab/QMUITabIndicator.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/widget/tab/QMUITabIndicator.java @@ -30,6 +30,7 @@ import com.qmuiteam.qmui.util.QMUIResHelper; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.graphics.drawable.DrawableCompat; public class QMUITabIndicator { @@ -99,7 +100,8 @@ public class QMUITabIndicator { return mIndicatorTop; } - protected void updateInfo(int left, int width, int color) { + @Deprecated + protected void updateInfo(int left, int width, int color){ if (mIndicatorRect == null) { mIndicatorRect = new Rect(left, 0, left + width, 0); @@ -112,9 +114,13 @@ public class QMUITabIndicator { } } - private void updateColor(int color){ + protected void updateInfo(int left, int width, int color, float offsetPercent) { + updateInfo(left, width, color); + } + + protected void updateColor(int color){ if (mIndicatorDrawable != null) { - QMUIDrawableHelper.setDrawableTintColor(mIndicatorDrawable, color); + DrawableCompat.setTint(mIndicatorDrawable, color); } else { if (mIndicatorPaint == null) { mIndicatorPaint = new Paint();