FileDocCategorySizeDatePackage
ViewConfiguration.javaAPI DocAndroid 1.5 API13595Wed May 06 22:41:56 BST 2009android.view

ViewConfiguration

public class ViewConfiguration extends Object
Contains methods to standard constants used in the UI for timeouts, sizes, and distances.

Fields Summary
private static final int
SCROLL_BAR_SIZE
Defines the width of the horizontal scrollbar and the height of the vertical scrollbar in pixels
private static final int
FADING_EDGE_LENGTH
Defines the length of the fading edges in pixels
private static final int
PRESSED_STATE_DURATION
Defines the duration in milliseconds of the pressed state in child components.
private static final int
LONG_PRESS_TIMEOUT
Defines the duration in milliseconds before a press turns into a long press
private static final int
GLOBAL_ACTIONS_KEY_TIMEOUT
Defines the duration in milliseconds a user needs to hold down the appropriate button to bring up the global actions dialog (power off, lock screen, etc).
private static final int
TAP_TIMEOUT
Defines the duration in milliseconds we will wait to see if a touch event is a tap or a scroll. If the user does not move within this interval, it is considered to be a tap.
private static final int
JUMP_TAP_TIMEOUT
Defines the duration in milliseconds we will wait to see if a touch event is a jump tap. If the user does not complete the jump tap within this interval, it is considered to be a tap.
private static final int
DOUBLE_TAP_TIMEOUT
Defines the duration in milliseconds between the first tap's up event and the second tap's down event for an interaction to be considered a double-tap.
private static final int
ZOOM_CONTROLS_TIMEOUT
Defines the duration in milliseconds we want to display zoom controls in response to a user panning within an application.
private static final int
EDGE_SLOP
Inset in pixels to look for touchable content when the user touches the edge of the screen
private static final int
TOUCH_SLOP
Distance a touch can wander before we think the user is scrolling in pixels
private static final int
DOUBLE_TAP_SLOP
Distance between the first touch and second touch to still be considered a double tap
private static final int
WINDOW_TOUCH_SLOP
Distance a touch needs to be outside of a window's bounds for it to count as outside for purposes of dismissing the window.
private static final int
MINIMUM_FLING_VELOCITY
Minimum velocity to initiate a fling, as measured in pixels per second
private static final int
MAXIMUM_DRAWING_CACHE_SIZE
The maximum size of View's drawing cache, expressed in bytes. This size should be at least equal to the size of the screen in ARGB888 format.
private static float
SCROLL_FRICTION
The coefficient of friction applied to flings/scrolls.
private final int
mEdgeSlop
private final int
mFadingEdgeLength
private final int
mMinimumFlingVelocity
private final int
mScrollbarSize
private final int
mTouchSlop
private final int
mDoubleTapSlop
private final int
mWindowTouchSlop
private final int
mMaximumDrawingCacheSize
private static final android.util.SparseArray
sConfigurations
Constructors Summary
public ViewConfiguration()

deprecated
Use {@link android.view.ViewConfiguration#get(android.content.Context)} instead.


              
    
      
        mEdgeSlop = EDGE_SLOP;
        mFadingEdgeLength = FADING_EDGE_LENGTH;
        mMinimumFlingVelocity = MINIMUM_FLING_VELOCITY;
        mScrollbarSize = SCROLL_BAR_SIZE;
        mTouchSlop = TOUCH_SLOP;
        mDoubleTapSlop = DOUBLE_TAP_SLOP;
        mWindowTouchSlop = WINDOW_TOUCH_SLOP;
        //noinspection deprecation
        mMaximumDrawingCacheSize = MAXIMUM_DRAWING_CACHE_SIZE;
    
private ViewConfiguration(android.content.Context context)
Creates a new configuration for the specified context. The configuration depends on various parameters of the context, like the dimension of the display or the density of the display.

param
context The application context used to initialize this view configuration.
see
#get(android.content.Context)
see
android.util.DisplayMetrics

        final DisplayMetrics metrics = context.getResources().getDisplayMetrics();
        final float density = metrics.density;

        mEdgeSlop = (int) (density * EDGE_SLOP + 0.5f);
        mFadingEdgeLength = (int) (density * FADING_EDGE_LENGTH + 0.5f);
        mMinimumFlingVelocity = (int) (density * MINIMUM_FLING_VELOCITY + 0.5f);
        mScrollbarSize = (int) (density * SCROLL_BAR_SIZE + 0.5f);
        mTouchSlop = (int) (density * TOUCH_SLOP + 0.5f);
        mDoubleTapSlop = (int) (density * DOUBLE_TAP_SLOP + 0.5f);
        mWindowTouchSlop = (int) (density * WINDOW_TOUCH_SLOP + 0.5f);

        // Size of the screen in bytes, in ARGB_8888 format
        mMaximumDrawingCacheSize = 4 * metrics.widthPixels * metrics.heightPixels;
    
Methods Summary
public static android.view.ViewConfigurationget(android.content.Context context)
Returns a configuration for the specified context. The configuration depends on various parameters of the context, like the dimension of the display or the density of the display.

param
context The application context used to initialize the view configuration.

        final DisplayMetrics metrics = context.getResources().getDisplayMetrics();
        final int density = (int) (100.0f * metrics.density);

        ViewConfiguration configuration = sConfigurations.get(density);
        if (configuration == null) {
            configuration = new ViewConfiguration(context);
            sConfigurations.put(density, configuration);
        }

        return configuration;
    
public static intgetDoubleTapSlop()

return
Distance between the first touch and second touch to still be considered a double tap
deprecated
Use {@link #getScaledDoubleTapSlop()} instead.
hide
The only client of this should be GestureDetector, which needs this for clients that still use its deprecated constructor.

        return DOUBLE_TAP_SLOP;
    
public static intgetDoubleTapTimeout()

return
the duration in milliseconds between the first tap's up event and the second tap's down event for an interaction to be considered a double-tap.

        return DOUBLE_TAP_TIMEOUT;
    
public static intgetEdgeSlop()

return
Inset in pixels to look for touchable content when the user touches the edge of the screen
deprecated
Use {@link #getScaledEdgeSlop()} instead.

        return EDGE_SLOP;
    
public static intgetFadingEdgeLength()

return
the length of the fading edges in pixels
deprecated
Use {@link #getScaledFadingEdgeLength()} instead.

        return FADING_EDGE_LENGTH;
    
public static longgetGlobalActionKeyTimeout()
The amount of time a user needs to press the relevant key to bring up the global actions dialog.

return
how long a user needs to press the relevant key to bring up the global actions dialog.

        return GLOBAL_ACTIONS_KEY_TIMEOUT;
    
public static intgetJumpTapTimeout()

return
the duration in milliseconds we will wait to see if a touch event is a jump tap. If the user does not move within this interval, it is considered to be a tap.

        return JUMP_TAP_TIMEOUT;
    
public static intgetLongPressTimeout()

return
the duration in milliseconds before a press turns into a long press

        return LONG_PRESS_TIMEOUT;
    
public static intgetMaximumDrawingCacheSize()
The maximum drawing cache size expressed in bytes.

return
the maximum size of View's drawing cache expressed in bytes
deprecated
Use {@link #getScaledMaximumDrawingCacheSize()} instead.

        //noinspection deprecation
        return MAXIMUM_DRAWING_CACHE_SIZE;
    
public static intgetMinimumFlingVelocity()

return
Minimum velocity to initiate a fling, as measured in pixels per second.
deprecated
Use {@link #getScaledMinimumFlingVelocity()} instead.

        return MINIMUM_FLING_VELOCITY;
    
public static intgetPressedStateDuration()

return
the duration in milliseconds of the pressed state in child components.

        return PRESSED_STATE_DURATION;
    
public intgetScaledDoubleTapSlop()

return
Distance between the first touch and second touch to still be considered a double tap

        return mDoubleTapSlop;
    
public intgetScaledEdgeSlop()

return
Inset in pixels to look for touchable content when the user touches the edge of the screen

        return mEdgeSlop;
    
public intgetScaledFadingEdgeLength()

return
the length of the fading edges in pixels

        return mFadingEdgeLength;
    
public intgetScaledMaximumDrawingCacheSize()
The maximum drawing cache size expressed in bytes.

return
the maximum size of View's drawing cache expressed in bytes

        return mMaximumDrawingCacheSize;
    
public intgetScaledMinimumFlingVelocity()

return
Minimum velocity to initiate a fling, as measured in pixels per second.

        return mMinimumFlingVelocity;
    
public intgetScaledScrollBarSize()

return
The width of the horizontal scrollbar and the height of the vertical scrollbar in pixels

        return mScrollbarSize;
    
public intgetScaledTouchSlop()

return
Distance a touch can wander before we think the user is scrolling in pixels

        return mTouchSlop;
    
public intgetScaledWindowTouchSlop()

return
Distance a touch must be outside the bounds of a window for it to be counted as outside the window for purposes of dismissing that window.

        return mWindowTouchSlop;
    
public static intgetScrollBarSize()

return
The width of the horizontal scrollbar and the height of the vertical scrollbar in pixels
deprecated
Use {@link #getScaledScrollBarSize()} instead.

        return SCROLL_BAR_SIZE;
    
public static floatgetScrollFriction()
The amount of friction applied to scrolls and flings.

return
A scalar dimensionless value representing the coefficient of friction.

        return SCROLL_FRICTION;
    
public static intgetTapTimeout()

return
the duration in milliseconds we will wait to see if a touch event is a tap or a scroll. If the user does not move within this interval, it is considered to be a tap.

        return TAP_TIMEOUT;
    
public static intgetTouchSlop()

return
Distance a touch can wander before we think the user is scrolling in pixels
deprecated
Use {@link #getScaledTouchSlop()} instead.

        return TOUCH_SLOP;
    
public static intgetWindowTouchSlop()

return
Distance a touch must be outside the bounds of a window for it to be counted as outside the window for purposes of dismissing that window.
deprecated
Use {@link #getScaledWindowTouchSlop()} instead.

        return WINDOW_TOUCH_SLOP;
    
public static longgetZoomControlsTimeout()
The amount of time that the zoom controls should be displayed on the screen expressed in milliseconds.

return
the time the zoom controls should be visible expressed in milliseconds.

        return ZOOM_CONTROLS_TIMEOUT;