Preserve tab position

To reproduce the issue:
1. Swipe to work tab
2. Tap Home
3. Swipe up to show all apps, you can see the personal tab is
   highlighted while the view pager is showing work apps.

We cleared the state whenever onLayout is called, we should
make use of mSelectedPosition.

Change-Id: I621b3c9ada0eb608280fe5e4ea8715f3a341820d
This commit is contained in:
Tony Mak
2017-11-28 11:34:09 +00:00
parent 0c2d9b0f3e
commit 41bccc244e

View File

@@ -34,7 +34,7 @@ public class SlidingTabStrip extends LinearLayout {
private int mSelectedIndicatorHeight;
private int mIndicatorLeft = -1;
private int mIndicatorRight = -1;
private int mSelectedPosition = -1;
private int mSelectedPosition = 0;
private float mSelectionOffset;
public SlidingTabStrip(@NonNull Context context, @Nullable AttributeSet attrs) {
@@ -63,8 +63,8 @@ public class SlidingTabStrip extends LinearLayout {
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
updateTabTextColor(0);
updateIndicatorPosition(0, 0);
updateTabTextColor(mSelectedPosition);
updateIndicatorPosition(mSelectedPosition, 0);
}
private void updateIndicatorPosition() {