diff options
| author | 2018-06-30 00:26:35 +0000 | |
|---|---|---|
| committer | 2018-06-30 00:26:35 +0000 | |
| commit | cee49cd54d444642b875bf79fb1494718791a426 (patch) | |
| tree | dfd03ca8e34021aaf0e7c8e47b95696276cc6c34 | |
| parent | e26fae649bec24c38bc4f5aab825617fc12a52e1 (diff) | |
| parent | b8cbf3aa5b4b86bdad6a885a87ea6b0ed4ecaace (diff) | |
Merge "Make scroll bars more noticeable on round screens."
| -rw-r--r-- | core/java/android/view/RoundScrollbarRenderer.java | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/core/java/android/view/RoundScrollbarRenderer.java b/core/java/android/view/RoundScrollbarRenderer.java index 134851046ba6..df9e23e427f8 100644 --- a/core/java/android/view/RoundScrollbarRenderer.java +++ b/core/java/android/view/RoundScrollbarRenderer.java @@ -31,13 +31,14 @@ class RoundScrollbarRenderer { private static final int MAX_SCROLLBAR_ANGLE_SWIPE = 16; private static final int MIN_SCROLLBAR_ANGLE_SWIPE = 6; private static final float WIDTH_PERCENTAGE = 0.02f; - private static final int DEFAULT_THUMB_COLOR = 0x4CFFFFFF; - private static final int DEFAULT_TRACK_COLOR = 0x26FFFFFF; + private static final int DEFAULT_THUMB_COLOR = 0xFFE8EAED; + private static final int DEFAULT_TRACK_COLOR = 0x4CFFFFFF; private final Paint mThumbPaint = new Paint(); private final Paint mTrackPaint = new Paint(); private final RectF mRect = new RectF(); private final View mParent; + private final int mMaskThickness; public RoundScrollbarRenderer(View parent) { // Paints for the round scrollbar. @@ -52,6 +53,12 @@ class RoundScrollbarRenderer { mTrackPaint.setStyle(Paint.Style.STROKE); mParent = parent; + + // Fetch the resource indicating the thickness of CircularDisplayMask, rounding in the same + // way WindowManagerService.showCircularMask does. The scroll bar is inset by this amount so + // that it doesn't get clipped. + mMaskThickness = parent.getContext().getResources().getDimensionPixelSize( + com.android.internal.R.dimen.circular_display_mask_thickness); } public void drawRoundScrollbars(Canvas canvas, float alpha, Rect bounds) { @@ -82,13 +89,13 @@ class RoundScrollbarRenderer { startAngle = clamp(startAngle, -SCROLLBAR_ANGLE_RANGE / 2, SCROLLBAR_ANGLE_RANGE / 2 - sweepAngle); - // Draw the track and the scroll bar. + // Draw the track and the thumb. + float inset = thumbWidth / 2 + mMaskThickness; mRect.set( - bounds.left - thumbWidth / 2, - bounds.top, - bounds.right - thumbWidth / 2, - bounds.bottom); - + bounds.left + inset, + bounds.top + inset, + bounds.right - inset, + bounds.bottom - inset); canvas.drawArc(mRect, -SCROLLBAR_ANGLE_RANGE / 2, SCROLLBAR_ANGLE_RANGE, false, mTrackPaint); canvas.drawArc(mRect, startAngle, sweepAngle, false, mThumbPaint); |