OSDN Git Service

Add ViewConfiguration.getScaledScrollFactor()
authorNed Burns <pixel@google.com>
Wed, 17 Aug 2016 21:30:25 +0000 (17:30 -0400)
committerNed Burns <pixel@google.com>
Thu, 18 Aug 2016 19:07:05 +0000 (15:07 -0400)
This value is used to convert ACTION_SCROLL axis values into raw
pixel distances.

Change-Id: I537af010610bb374ab29a41aff4fae5b07bece6e

api/current.txt
api/system-current.txt
api/test-current.txt
core/java/android/view/ViewConfiguration.java
core/res/res/values/config.xml
core/res/res/values/symbols.xml

index d496bb8..4992386 100644 (file)
@@ -43176,6 +43176,7 @@ package android.view {
     method public int getScaledOverscrollDistance();
     method public int getScaledPagingTouchSlop();
     method public int getScaledScrollBarSize();
+    method public int getScaledScrollFactor();
     method public int getScaledTouchSlop();
     method public int getScaledWindowTouchSlop();
     method public static int getScrollBarFadeDuration();
index 6db91c6..905dffe 100644 (file)
@@ -46346,6 +46346,7 @@ package android.view {
     method public int getScaledOverscrollDistance();
     method public int getScaledPagingTouchSlop();
     method public int getScaledScrollBarSize();
+    method public int getScaledScrollFactor();
     method public int getScaledTouchSlop();
     method public int getScaledWindowTouchSlop();
     method public static int getScrollBarFadeDuration();
index 5293a04..5750905 100644 (file)
@@ -43257,6 +43257,7 @@ package android.view {
     method public int getScaledOverscrollDistance();
     method public int getScaledPagingTouchSlop();
     method public int getScaledScrollBarSize();
+    method public int getScaledScrollFactor();
     method public int getScaledTouchSlop();
     method public int getScaledWindowTouchSlop();
     method public static int getScrollBarFadeDuration();
index 9a73d0b..33b488f 100644 (file)
@@ -219,6 +219,12 @@ public class ViewConfiguration {
     private static final int OVERFLING_DISTANCE = 6;
 
     /**
+     * Amount to scroll in response to a {@link MotionEvent#ACTION_SCROLL} event, in dips per
+     * axis value.
+     */
+    private static final int SCROLL_FACTOR = 64;
+
+    /**
      * Default duration to hide an action mode for.
      */
     private static final long ACTION_MODE_HIDE_DURATION_DEFAULT = 2000;
@@ -246,6 +252,7 @@ public class ViewConfiguration {
     private final int mOverflingDistance;
     private final boolean mFadingMarqueeEnabled;
     private final long mGlobalActionsKeyTimeout;
+    private final int mScrollFactor;
 
     private boolean sHasPermanentMenuKey;
     private boolean sHasPermanentMenuKeySet;
@@ -274,6 +281,7 @@ public class ViewConfiguration {
         mOverflingDistance = OVERFLING_DISTANCE;
         mFadingMarqueeEnabled = true;
         mGlobalActionsKeyTimeout = GLOBAL_ACTIONS_KEY_TIMEOUT;
+        mScrollFactor = SCROLL_FACTOR;
     }
 
     /**
@@ -357,6 +365,8 @@ public class ViewConfiguration {
                 com.android.internal.R.dimen.config_viewMaxFlingVelocity);
         mGlobalActionsKeyTimeout = res.getInteger(
                 com.android.internal.R.integer.config_globalActionsKeyTimeout);
+        mScrollFactor = res.getDimensionPixelSize(
+                com.android.internal.R.dimen.config_scrollFactor);
     }
 
     /**
@@ -669,6 +679,14 @@ public class ViewConfiguration {
     }
 
     /**
+     * @return Amount to scroll in response to a {@link MotionEvent#ACTION_SCROLL} event. Multiply
+     * this by the event's axis value to obtain the number of pixels to be scrolled.
+     */
+    public int getScaledScrollFactor() {
+        return mScrollFactor;
+    }
+
+    /**
      * The maximum drawing cache size expressed in bytes.
      *
      * @return the maximum size of View's drawing cache expressed in bytes
index 6161494..6e2e9f6 100644 (file)
     <!-- Amount of time in ms the user needs to press the relevant key to bring up the global actions dialog -->
     <integer name="config_globalActionsKeyTimeout">500</integer>
 
+    <!-- Distance that should be scrolled in response to a {@link MotionEvent#ACTION_SCROLL event}
+         with an axis value of 1. -->
+    <dimen name="config_scrollFactor">64dp</dimen>
+
     <!-- Maximum number of grid columns permitted in the ResolverActivity
          used for picking activities to handle an intent. -->
     <integer name="config_maxResolverActivityColumns">3</integer>
index 3c2b55b..9d806b9 100644 (file)
   <java-symbol type="dimen" name="config_viewConfigurationTouchSlop" />
   <java-symbol type="dimen" name="config_viewMinFlingVelocity" />
   <java-symbol type="dimen" name="config_viewMaxFlingVelocity" />
+  <java-symbol type="dimen" name="config_scrollFactor" />
   <java-symbol type="dimen" name="default_app_widget_padding_bottom" />
   <java-symbol type="dimen" name="default_app_widget_padding_left" />
   <java-symbol type="dimen" name="default_app_widget_padding_right" />