summaryrefslogtreecommitdiff
path: root/core/java/android/widget/ImageButton.java
diff options
context:
space:
mode:
authorVladislav Kaznacheev <kaznacheev@google.com>2016-09-23 10:16:16 -0700
committerVladislav Kaznacheev <kaznacheev@google.com>2016-09-23 10:16:16 -0700
commit2a848ff65548f1a7eb00f909ee07c2ef8ac39caa (patch)
treedf5a15c7fb6a13f5f1c63e4ace12f4b531d69022 /core/java/android/widget/ImageButton.java
parentfeef989771c8b4393e0c742097390bc95c1ba4fb (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.java10
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);
+ }
}