简介
android.view.ViewConfiguration
包含了一些方法和常量,用于设置UI的超时、大小、距离
属性常量都是私有的,通过对应的get方法,获取配置值。
对应的v4兼容类:android.support.v4.view.ViewConfigurationCompat
初始化
通过静态方法:
ViewConfiguration static get(Context context);
- 1
获取ViewConfiguration对象。
在初始化时,会根据当前屏幕的密度、显示的尺寸等来配置属性值。
公共方法
有静态方法和成员方法。
这里记录一下,一些主要的方法。
static int getDoubleTapTimeout()
返回一个 双击的毫秒超时时间。
它在第一次点击的up事件开始记录,在第二次点击的down事件停止。
两次点击之间的时间值小于等于getDoubleTapTimeout()
,就表示是一个双击操作static int getJumpTapTimeout()
This method was deprecated in API level 20.
如果第二次点击在这时间毫秒值内,则是双击事件;反之,在时间值内,未有第二次点击,即是单击事件感觉跟getDoubleTapTimeout()功能重复了。可能这就是后来deprecated的原因吧
static int getKeyRepeatDelay()
连续重复按键的延迟毫秒时间static int getKeyRepeatTimeout()
重复按键的超时毫秒时间内部调用了
getLongPressTimeout()
。static int getLongPressTimeout()
长按超时毫秒时间。超出它,表示长按static int getPressedStateDuration()
在(子)组件上按住状态的持续毫秒时间int getScaledDoubleTapSlop()
两次touch间的像素距离值。若满足它,在符合超时规则的同时,可被视为一个双击操作int getScaledEdgeSlop()
当用户touch在屏幕边缘时,插入一定像素值,以寻找出可触摸内容int getScaledFadingEdgeLength()
边缘渐变的像素长度int getScaledMaximumDrawingCacheSize()
View的最大绘图缓存,以字节表示int getScaledMaximumFlingVelocity()
返回一个表示飞速滑动的最大初始速率值。单位是 像素/秒int getScaledMinimumFlingVelocity()
返回一个表示飞速滑动的最小初始速率值。单位是 像素/秒int getScaledOverflingDistance()
飞速滑动,当要显示view的边缘效果时,view可以超出的最大像素距离值int getScaledOverscrollDistance()
滚动后,当要显示view的边缘效果时,view可以超出的最大像素距离值int getScaledPagingTouchSlop()
一个touch动作,满足该像素距离时,可以认为用户滚动了一整个页面int getScaledScrollBarSize()
获取水平滚动条的宽 或 垂直滚动条的高,以像素为单位int getScaledScrollFactor()
8.0API。int getScaledTouchSlop()
满足这个像素距离,可以认为用户在滚动中int getScaledWindowTouchSlop()
定义一个window范围外的像素距离值,当touch动作,满足在该值以外,则认为可以dismiss该windowstatic int getScrollBarFadeDuration()
scrollBar逐渐消失的毫秒值static int getScrollDefaultDelay()
在滚动条消失前的延迟时间static float getScrollFriction()
一个代表了摩擦系数的标量。它应用在flings 或 scrolls 状态。static int getTapTimeout()
点击超时毫秒值。当用户在该间隔时间内,没有”move”操作,就认为是单击操作;反之认为是scroll操作static long getZoomControlsTimeout()
为了响应用户对焦动作,焦点框显示的超时毫秒值。应该是用在摄像头一类的操作里。boolean hasPermanentMenuKey()
是否有永久的 菜单键
说明
ViewConfiguration的API一般用在自定义view中。
根据某些操作,比对超时时间,判断是双击、单击、长按?
或比对某些情况下的尺寸与距离