android中ViewConfiguration的简单介绍

android.view.ViewConfiguration

Contains methods to standard constants used in the UI for
timeouts, sizes, and distances.

常用方法:

ViewConfiguration.get(getContext()).getScaledTouchSlop()

官方描述:Distance in
pixels
a touch can wander before we think the user is scrolling

在被判定为滚动之前用户手指可以移动的最大值。

除此之外,ViewConfiguration还有以下“常量”

/**
 * 包含了方法和标准的常量用来设置UI的超时、大小和距离
 */
public class ViewConfiguration {
    // 设定水平滚动条的宽度和垂直滚动条的高度,单位是像素px
    private static final int SCROLL_BAR_SIZE = 10;  

    //定义滚动条逐渐消失的时间,单位是毫秒
    private static final int SCROLL_BAR_FADE_DURATION = 250;  

    // 默认的滚动条多少秒之后消失,单位是毫秒
    private static final int SCROLL_BAR_DEFAULT_DELAY = 300;  

    // 定义边缘地方褪色的长度
    private static final int FADING_EDGE_LENGTH = 12;  

    //定义子控件按下状态的持续事件
    private static final int PRESSED_STATE_DURATION = 125;  

    //定义一个按下状态转变成长按状态的转变时间
    private static final int LONG_PRESS_TIMEOUT = 500;  

    //定义用户在按住适当按钮,弹出全局的对话框的持续时间
    private static final int GLOBAL_ACTIONS_KEY_TIMEOUT = 500;  

    //定义一个touch事件中是点击事件还是一个滑动事件所需的时间,如果用户在这个时间之内滑动,那么就认为是一个点击事件
    private static final int TAP_TIMEOUT = 115;  

    /**
     * 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.
     */
    //定义一个touch事件时候是一个点击事件。如果用户在这个时间内没有完成这个点击,那么就认为是一个点击事件
    private static final int JUMP_TAP_TIMEOUT = 500;  

    //定义双击事件的间隔时间
    private static final int DOUBLE_TAP_TIMEOUT = 300;  

    //定义一个缩放控制反馈到用户界面的时间
    private static final int ZOOM_CONTROLS_TIMEOUT = 3000;  

    /**
     * Inset in pixels to look for touchable content when the user touches the edge of the screen
     */
    private static final int EDGE_SLOP = 12;  

    /**
     * Distance a touch can wander before we think the user is scrolling in pixels
     */
    private static final int TOUCH_SLOP = 16;  

    /**
     * Distance a touch can wander before we think the user is attempting a paged scroll
     * (in dips)
     */
    private static final int PAGING_TOUCH_SLOP = TOUCH_SLOP * 2;  

    /**
     * Distance between the first touch and second touch to still be considered a double tap
     */
    private static final int DOUBLE_TAP_SLOP = 100;  

    /**
     * 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 WINDOW_TOUCH_SLOP = 16;  

   //用来初始化fling的最小速度,单位是每秒多少像素
    private static final int MINIMUM_FLING_VELOCITY = 50;  

    //用来初始化fling的最大速度,单位是每秒多少像素
    private static final int MAXIMUM_FLING_VELOCITY = 4000;  

    //视图绘图缓存的最大尺寸,以字节表示。在ARGB888格式下,这个尺寸应至少等于屏幕的大小
    @Deprecated
    private static final int MAXIMUM_DRAWING_CACHE_SIZE = 320 * 480 * 4; // HVGA screen, ARGB8888  

    //flings和scrolls摩擦力度大小的系数
    private static float SCROLL_FRICTION = 0.015f;  

    /**
     * Max distance to over scroll for edge effects
     */
    private static final int OVERSCROLL_DISTANCE = 0;  

    /**
     * Max distance to over fling for edge effects
     */
    private static final int OVERFLING_DISTANCE = 4;  

}  

参考:http://blog.csdn.net/lonelyroamer/article/details/7568129

android中ViewConfiguration的简单介绍

时间: 2024-10-07 05:25:33

android中ViewConfiguration的简单介绍的相关文章

Android中Fragment的简单介绍

Android是在Android 3.0 (API level 11)引入了Fragment的,中文翻译是片段或者成为碎片(个人理解),可以把Fragment当成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块. 其中有个经典图,大家就字面上理解下就行: 可以把Fragment设计成可以在多个Activity中复用的模块,为了在Android上创建动态的.多窗口的用户交互体验,你需要将UI组件和

sharepoint 2013 中修改母版页简单介绍

sharepoint 2013 中修改母版页简单介绍 分类: SharePoint2013-07-05 11:10 1565人阅读 评论(1) 收藏 举报 1.打开网站操作:设计管理器中创建html母版页,系统会自动生成.master的母版页 2.打开spd编辑签出新建的html的母版页,在<body>中上面加上style="overflow:auto;",增加滚动条 3.在<body></body>中最上面加banner,最下面 添加相应的foot

Android中SharePreferences的简单实现

Android中提供SharePreferences这种轻量级的数据存储模式,这种模式能够存储少量数据,并能为自身和其他应用提供数据接口.相对于其他数据存储方式,SharePreferences更加轻量.以下是整个SharePreferences实现的代码: xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas

Android中AsyncTask的简单用法【转】

在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验.但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误.因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户.这样就解决了子线程更新UI的问题.但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题.因此android提供了

[原创]Android中LocationManager的简单使用,获取当前位置

Android中LocationManager的提供了一系列方法来地理位置相关的问题,包括查询上一个已知位置:注册/注销来自某个 LocationProvider的周期性的位置更新:以及注册/注销接近某个坐标时对一个已定义Intent的触发等.今天我们就来看看Android 中LocatinManager的简单使用,以获取当前所在的位置为例. 首先,我们需要获取LocationManager的一个实例,这里需要注意的是他的实例只能通过下面这种方式来获取,直接实例化LocationManager是

OpenStack 入门学习之四:icehouse版本中Heat的简单介绍

Heat简介 Heat是OpenStack的负责编排计划的主要项目.它可以基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性.目前Heat自身的模板格式(HOT)正在不停的改进,同时也支持AWS CloudFormation 模板(CFN),HOT的目标是在不远的将来可以完全的替代CFN. Heat提供了一个OpenStack的原生REST API和CloudFormation兼容的查询API. Heat的工作原理 Heat主要是基于模板文件

iOS开发中指纹识别简单介绍

中指纹识别简单介绍,在iphone系列中,是从5S以后开始有了指纹识别的功能,在ios8的时候开放的指纹验证的接口. 所以我们在进行指纹识别应用的时候要去判断机型以及系统的版本. 代码如下,下面需要特别注意的其实就是LAPolicyDeviceOwnerAuthentication和LAPolicyDeviceOwnerAuthenticationWithBiometrics的区别,以及检测系统的版本通过[UIDevice currentDevice].systemVersion.floatVa

Android中ProgressDialog的简单示例

网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主要的Activity ProgressBarDemo.java Java代码   package com.lveyo.android.demo.progressbar; import android.app.Activity; import android.app.ProgressDialog; i

Android中View和ViewGroup介绍

1. 概念Android中的View与我们以前理解的“视图”不同.在Android中,View比视图具有更广的含义,它包含了用户交互和显示,更像Windows操作系统中的window. ViewGroup是View的子类,所以它也具有View的特性,但它主要用来充当View的容器,将其中的View视作自己的孩子,对它的子View进行管理,当然它的孩子也可以是ViewGroup类型. ViewGroup(树根)和它的孩子们(View和ViewGroup)以树形结构形成了一个层次结构,View类有接