Android ViewConfiguration配置说明

简介

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该window

  • static int getScrollBarFadeDuration() 
    scrollBar逐渐消失的毫秒值

  • static int getScrollDefaultDelay() 
    在滚动条消失前的延迟时间

  • static float getScrollFriction() 
    一个代表了摩擦系数的标量。它应用在flings 或 scrolls 状态。

  • static int getTapTimeout() 
    点击超时毫秒值。当用户在该间隔时间内,没有”move”操作,就认为是单击操作;反之认为是scroll操作

  • static long getZoomControlsTimeout() 
    为了响应用户对焦动作,焦点框显示的超时毫秒值。应该是用在摄像头一类的操作里。

  • boolean hasPermanentMenuKey() 
    是否有永久的 菜单键

说明

ViewConfiguration的API一般用在自定义view中。 
根据某些操作,比对超时时间,判断是双击、单击、长按? 
或比对某些情况下的尺寸与距离

阅读更多
个人分类: android源码分析
上一篇ViewPager,ScrollView 嵌套ViewPager滑动冲突解决(View的 事件分发机制)
下一篇Android系统Download模块
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭