diff options
Diffstat (limited to 'src/com/android/messaging/ui/ViewPagerTabStrip.java')
-rw-r--r-- | src/com/android/messaging/ui/ViewPagerTabStrip.java | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/com/android/messaging/ui/ViewPagerTabStrip.java b/src/com/android/messaging/ui/ViewPagerTabStrip.java deleted file mode 100644 index e088296..0000000 --- a/src/com/android/messaging/ui/ViewPagerTabStrip.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.messaging.ui; - -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Canvas; -import android.graphics.Paint; -import android.util.AttributeSet; -import android.view.View; -import android.widget.LinearLayout; - -import com.android.messaging.R; -import com.android.messaging.util.OsUtil; - -public class ViewPagerTabStrip extends LinearLayout { - private int mSelectedUnderlineThickness; - private final Paint mSelectedUnderlinePaint; - - private int mIndexForSelection; - private float mSelectionOffset; - - public ViewPagerTabStrip(Context context) { - this(context, null); - } - - public ViewPagerTabStrip(Context context, AttributeSet attrs) { - super(context, attrs); - - final Resources res = context.getResources(); - - mSelectedUnderlineThickness = - res.getDimensionPixelSize(R.dimen.pager_tab_underline_selected); - int underlineColor = res.getColor(R.color.contact_picker_tab_underline); - int backgroundColor = res.getColor(R.color.action_bar_background_color); - - mSelectedUnderlinePaint = new Paint(); - mSelectedUnderlinePaint.setColor(underlineColor); - - setBackgroundColor(backgroundColor); - setWillNotDraw(false); - } - - /** - * Notifies this view that view pager has been scrolled. We save the tab index - * and selection offset for interpolating the position and width of selection - * underline. - */ - void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { - mIndexForSelection = position; - mSelectionOffset = positionOffset; - invalidate(); - } - - @Override - protected void onDraw(Canvas canvas) { - int childCount = getChildCount(); - - // Thick colored underline below the current selection - if (childCount > 0) { - View selectedTitle = getChildAt(mIndexForSelection); - int selectedLeft = selectedTitle.getLeft(); - int selectedRight = selectedTitle.getRight(); - final boolean isRtl = isRtl(); - final boolean hasNextTab = isRtl ? mIndexForSelection > 0 - : (mIndexForSelection < (getChildCount() - 1)); - if ((mSelectionOffset > 0.0f) && hasNextTab) { - // Draw the selection partway between the tabs - View nextTitle = getChildAt(mIndexForSelection + (isRtl ? -1 : 1)); - int nextLeft = nextTitle.getLeft(); - int nextRight = nextTitle.getRight(); - - selectedLeft = (int) (mSelectionOffset * nextLeft + - (1.0f - mSelectionOffset) * selectedLeft); - selectedRight = (int) (mSelectionOffset * nextRight + - (1.0f - mSelectionOffset) * selectedRight); - } - - int height = getHeight(); - canvas.drawRect(selectedLeft, height - mSelectedUnderlineThickness, - selectedRight, height, mSelectedUnderlinePaint); - } - } - - private boolean isRtl() { - return OsUtil.isAtLeastJB_MR2() ? getLayoutDirection() == View.LAYOUT_DIRECTION_RTL : false; - } -}
\ No newline at end of file |