Merge "Custom pointer icon for DatePicker and TimePicker"

This commit is contained in:
TreeHugger Robot
2016-09-26 17:05:41 +00:00
committed by Android (Google) Code Review
5 changed files with 35 additions and 0 deletions

View File

@@ -16,6 +16,7 @@
package android.widget;
import android.view.PointerIcon;
import com.android.internal.R;
import com.android.internal.widget.ExploreByTouchHelper;
@@ -1052,6 +1053,18 @@ public class RadialTimePickerView extends View {
invalidate();
}
@Override
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
if (!isEnabled()) {
return null;
}
final int degrees = getDegreesFromXY(event.getX(), event.getY(), false);
if (degrees != -1) {
return PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND);
}
return super.onResolvePointerIcon(event, pointerIndex);
}
private class RadialPickerTouchHelper extends ExploreByTouchHelper {
private final Rect mTempRect = new Rect();

View File

@@ -16,6 +16,7 @@
package android.widget;
import android.view.PointerIcon;
import com.android.internal.R;
import com.android.internal.widget.ExploreByTouchHelper;
@@ -1025,6 +1026,21 @@ class SimpleMonthView extends View {
return true;
}
@Override
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
if (!isEnabled()) {
return null;
}
// Add 0.5f to event coordinates to match the logic in onTouchEvent.
final int x = (int) (event.getX() + 0.5f);
final int y = (int) (event.getY() + 0.5f);
final int dayUnderPointer = getDayAtLocation(x, y);
if (dayUnderPointer >= 0) {
return PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND);
}
return super.onResolvePointerIcon(event, pointerIndex);
}
/**
* Provides a virtual view hierarchy for interfacing with an accessibility
* service.