diff options
| author | Vladislav Kaznacheev <kaznacheev@google.com> | 2016-09-23 10:16:16 -0700 |
|---|---|---|
| committer | Vladislav Kaznacheev <kaznacheev@google.com> | 2016-09-23 10:16:16 -0700 |
| commit | 2a848ff65548f1a7eb00f909ee07c2ef8ac39caa (patch) | |
| tree | df5a15c7fb6a13f5f1c63e4ace12f4b531d69022 /core/java/android/widget/ImageButton.java | |
| parent | feef989771c8b4393e0c742097390bc95c1ba4fb (diff) | |
Custom pointer icon for standard widgets
Implemented custom pointer icon for Button, ImageButton,
Spinner and TabWidget.
PointerIcon.TYPE_HAND will be shown if the widget is enabled,
clickable and has not defined its own pointer icon through
setPointerIcon or pointerIcon resource attribute.
Bug: 31652293
Change-Id: I2a79786b12d15ea8223726d0949658801b046604
Diffstat (limited to 'core/java/android/widget/ImageButton.java')
| -rw-r--r-- | core/java/android/widget/ImageButton.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/widget/ImageButton.java b/core/java/android/widget/ImageButton.java index 332b158cf9f8..e1b0c915c684 100644 --- a/core/java/android/widget/ImageButton.java +++ b/core/java/android/widget/ImageButton.java @@ -18,6 +18,8 @@ package android.widget; import android.content.Context; import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.PointerIcon; import android.widget.RemoteViews.RemoteView; /** @@ -94,4 +96,12 @@ public class ImageButton extends ImageView { public CharSequence getAccessibilityClassName() { return ImageButton.class.getName(); } + + @Override + public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) { + if (getPointerIcon() == null && isClickable() && isEnabled()) { + return PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND); + } + return super.onResolvePointerIcon(event, pointerIndex); + } } |
