diff options
| author | 2016-02-10 07:31:18 -0800 | |
|---|---|---|
| committer | 2016-02-10 07:31:18 -0800 | |
| commit | e4f976dc3b7dd2548deb409b6fd421c6c47f6b42 (patch) | |
| tree | 808be97287091fd76e0217f6ba9cfc6ea475e91e | |
| parent | 8585ed66b947ef30d6a43f0bb91885ed0c5ebfb4 (diff) | |
Set the hover state to the same as focus state in RippleDrawable.
Bug 24810682
There was no hover state for bounded ripples and it was decided
that a solid background color exactly like the focus state
was desired. This change triggers the RippleDrawable to act as
if it is focused when it is hovered.
Change-Id: I94b2a4d03dd4c47fc021c84bb0ba4b4be82f3e95
| -rw-r--r-- | graphics/java/android/graphics/drawable/RippleDrawable.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java index 9c691e508535..ee0861ae60f5 100644 --- a/graphics/java/android/graphics/drawable/RippleDrawable.java +++ b/graphics/java/android/graphics/drawable/RippleDrawable.java @@ -251,6 +251,7 @@ public class RippleDrawable extends LayerDrawable { boolean enabled = false; boolean pressed = false; boolean focused = false; + boolean hovered = false; for (int state : stateSet) { if (state == R.attr.state_enabled) { @@ -259,11 +260,13 @@ public class RippleDrawable extends LayerDrawable { focused = true; } else if (state == R.attr.state_pressed) { pressed = true; + } else if (state == R.attr.state_hovered) { + hovered = true; } } setRippleActive(enabled && pressed); - setBackgroundActive(focused || (enabled && pressed), focused); + setBackgroundActive(hovered || focused || (enabled && pressed), focused || hovered); return changed; } |