android.view.ViewConfiguration

Android开发 ViewConfiguration View的配置信息类 前言   这个ViewConfiguration是Android 自带View的常量配置类,用于保存了各类View的点击、长按、拖动、滑动等等一些View的配置数据。我们在自定义View的时候可以参考这个类提取对应常量来实现与官方匹配的触控手感。 ViewConfiguration 实例获取 ViewConfiguration viewConfiguration = ViewConfigura... 阅读详情

源码地址:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2_r1/android/view/ViewConfiguration.java?av=f

 

/** 
* 包含了方法和标准的常量用来设置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; 

} 

android View中如何判断长按事件 一、如果用户在获得焦点的VIEW上按KEYCODE_DPAD_CENTER或KEYCODE_ENTER键,即OK键后,在VIEW的onKeyDown方法中会开启一个延迟线程,在延迟线程中会去回调onLongClick()方法,代码如下: 在如下代码中开始延迟线程: publ 阅读详情

相关推荐

Android的Scroller介绍(1)

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。下面是部分资料截图,诚意满满:特别适合有开发经验的Android程序员们学习。不论遇到什么困难,都不应该成为我们放弃的理由!如果你看到了这里,觉得文章写得不错就给个赞呗?《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》

2401_83703835的博客 920

Android ViewConfiguration配置说明

简介android.view.ViewConfiguration 包含了一些方法和常量,用于设置UI的超时、大小、距离 属性常量都是私有的,通过对应的get方法,获取配置值。 对应的v4兼容类:android.support.v4.view.ViewConfigurationCompat 初始化通过静态方法:ViewConfiguration static get(Context conte

打渔还是晒网 —— stone 2798

分析国外几款主流蜜罐产品看欺骗诱捕技术的应用脉络

网络安全的本质是攻防对抗,更本质的其实是人与人心智与技术的全面较量。 欺骗诱捕技术作为攻防对抗技术中比较特殊的技术,能够使防守方更多掌握对抗中的主动权,诱导攻击,迫使攻击者耗费精力的同时,留下丰富的攻击信息。究其本质,欺骗诱捕技术更深层次考验的不止是技术的能力,还有对于攻击者作为人的理解。 国外主流蜜罐产品分析 根据MarketsandMarkets《欺骗技术市场规模、份额和2021年全球市场预测》中提到的欺骗诱捕技术全球主要供应商及产品,我们分析了几款国外主流的蜜罐产品,希望更清晰看到欺骗诱捕技术应

cdyunaq的博客 1310

android viewconfiguration

简介:ViewConfiguration 是系统中关于视图的各种特性的常量记录对象。其中包含各种基础数据 ViewConfiguration中的值一般是在编写高级控件是才会用到。由于常量非常多,部分常量光看说明无法知道其真实作用,这是一个慢慢收集记录的过程,在实际运用中遇到新的常量我会慢慢添加。 //在可滑动的控件中用于区别单击子控件和滑动操作的一个伐值。 m...

weixin_30254435的博客 235

信创环境下,软件测试如何破局?

毕竟,在自主可控的道路上,每一行通过测试的代码,都在为信创产业的未来添砖加瓦。未来,测试工程师不仅要验证软件在信创环境的可用性,更要基于国产软硬件的特性,推动软件进行 “原生设计”—— 例如,针对国产 CPU 的多核架构优化代码,基于国产数据库的索引机制提升查询效率。某政务云平台的测试数据显示,在 “飞腾芯片 + 麒麟操作系统” 环境下,系统的并发处理能力较传统环境下降约 15%,测试团队通过优化软件的线程调度逻辑,最终将性能损失控制在 5% 以内 —— 这正是信创性能测试的价值所在。

weixin_45608163的博客 886

5分钟搞定阿里云千问大模型API申请:手把手教你获取API Key

本文提供了一份高效的阿里云通义千问大模型API Key获取实战指南。通过清晰的步骤,帮助开发者在五分钟内完成从账号准备、精准导航控制台到创建并验证API Key的全过程,并强调了密钥安全管理和基础调用测试的重要性,助力快速集成AI能力。

ol789012345的博客 1352

Android View 事件分发机制 源码解析 (上)

一直想写事件分发机制的文章,不管咋样,也得自己研究下事件分发的源码,写出心得~ 首先我们先写个简单的例子来测试View的事件转发的流程~ 1、案例 为了更好的研究View的事件转发,我们自定以一个MyButton继承Button,然后把跟事件传播有关的方法进行复写,然后添加上日志~ MyButton package com.example.zhy_event03; import android...

810364804 842

迷茫之后:Java研发转型售前——选择大于努力!

写下这段文字的时候,小弟已经从Java开发岗位转型软件售前近20天了........ 2011年9月毕业于某培训机构,学的是java语言。之后来到深圳,进入华为外包开始了我的程序猿生涯....刚入职场,第一份工作总是兴奋情绪占主导地位,加入文思创新在华为的人力外包项目组,然后跟着老员工学习、修复小bug,一步一坑的去熟悉那老掉牙的框架...ejb+struts1.2.........项目组老

xuweiwei0415的专栏 1万+

android中ViewConfiguration的简单介绍

android.view.ViewConfiguration Contains methods to standard constants used in the UI for timeouts, sizes, and distances. 常用方法:  ViewConfiguration.get(getContext()).getScaledTouchSlop()

u011494050的专栏 3141

11、系统稳定性分析与李雅普诺夫函数的应用

本文深入探讨了李雅普诺夫函数在系统稳定性分析中的核心作用,重点介绍了时变与时不变系统的稳定性判据差异,以及巴尔巴拉特引理在处理非自治系统中的应用。文章还阐述了正线性系统与严格正实传递函数的性质及其在非线性控制系统中的重要性,并展示了李雅普诺夫函数在评估主导时间常数和设计快速干扰抑制控制策略方面的实际应用。通过具体示例和流程图,系统地总结了李雅普诺夫方法在稳定性分析、性能评估与控制器设计中的多维度价值,同时指出了当前挑战与未来发展方向。

Jerry的专栏 93

dji psdk开发 关于SDK认证芯片的使用

Payload SDK V3.10.0 于 2025-1-8 发布,增加了 Matrice 4T/4E 机型支持,同时也增加了 DJI SDK 认证芯片(DJI SDK CC)功能支持。关于认证芯片的介绍大疆 SDK 认证芯片(DJI SDK Certified Chip),简称 DJI SDK CC,用于认证基于 DJI Eport/Eport-Lite 接口开发的第三方负载设备,确保设备能够正常工作并与无人机可以进行有效通信,起到负载安全认证和功能授权的作用。

热爱生活,忠于自己 2147

W/System.err: at android.view.ViewConfiguration.get(ViewConfiguration.java:369)

*11-09 11:48:38.558 13887-13900/? W/System.err: at android.view.WindowManagerGlobal.getWindowManagerService(WindowManagerGlobal.java:177) 11-09 11:48:38.559 13887-13900/? W/System.err: at andro

男儿不展风云志,空有天生八尺躯 1037

YOLO12涨点改进| 损失函数改进篇 |AAAI 2025| 一种小目标检测SDLoss损失函数,解决现有损失函数对不同目标尺度敏感度不足的局限,提高了网络检测不同尺度目标的敏感能力,助力高效涨点

本文提出了一种改进的小目标检测方法SDLoss,通过动态调整尺度损失与位置损失的权重,优化了YOLOv12模型的性能。针对红外小目标检测中存在的两个主要问题:1)标准卷积难以捕捉目标的高斯空间分布特性;2)现有损失函数对不同尺度目标的敏感度不足,研究团队开发了Pinwheel-shaped卷积(PConv)和Scale-based Dynamic损失函数(SDLoss)。PConv通过不对称卷积核设计显著提升感受野,SDLoss则根据目标大小动态平衡尺度与位置损失的影响。

Ai缝合怪、助力小伙伴高效发论文 238

Android自定义View之常用工具源码分析

在使用自定义View的时候,常常会用到一些Android系统提供的工具。这些工具封装了我们经常会用到的方法,比如拖拽View,计算滑动速度,View的滚动,手势处理等等。如果我们自己去实现这些方法会比较繁琐,而且容易出一些bug。所以,作为自定义View系列学习和教程的开端,先了解一下这些常用的工具,以便在后续的学习和工作中使用。

薛建新的博客 4723

建模simulink - 手把手教你搭建xpc平台

概述xpc半实物仿真目标是个基于RTW对低端实时仿真和开发平台,可将计算机或者工控机转变为一个实时系统,不需要第三方操作系统对支持,在计算机上配置输入输入出设备就能和外部交换信息,进行硬件...

不只会拍照的程序猿 7088

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【Android View事件(一)】Android常用触控类分析:MotionEvent 、 ViewConfiguration、VelocityTracker

前言 在《【Android 控件架构】详解Android控件架构与常用坐标系》这篇文章中,我曾在【常用坐标系】一节中简单描述过 MotionEvent 常用方法,鉴于最近工作中大量处理了View触摸事件,特此展开讨论。 1,MotionEvent 对于 MotionEvent 官网是如此定义的: Motion events describe movements in terms ...

zuo_er_lyf的博客 487

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

学习自定义View—简要笔记(一)

最近,在做项目的时候,经常UI给我们的效果和我们做出来 ,或者网上搜到的例子很不一样,很烦恼,于是就很想自己学习一下自定义View,虽然很难对我这么一个小菜来说,可能会想,“走都走不顺,还要跑”,哎呀,就要试试跑起来!!    看了很多个鸿洋大神的博文,也跟着写了好多个他写的demo,发现很多东西那样写着不知道为什么,然后看到有另外有一个大神通过源码分析,就跟着看,跟着学了一下,边几下点大概

qq_35842870的博客 286

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android自定义View(二)——常用工具

本文转载自:http://blog.csdn.net/tyk0910/article/details/53084260 在自定义View的时候,常常会用到一些Android系统提供的工具。这些工具封装了我们经常会用到的方法,比如拖拽View,计算滑动速度,View的滚动,手势处理等等。如果我们自己去实现这些方法会比较繁琐,而且容易出一些bug。所以了解熟悉这些常用的工具,对我们后续的学习和工作有

WWW.齐麟的博客.COM 375

android自定义view生命周期,android基础之自定义view

一、Custom View1、view的继承关系view继承关系.png2、Android 如何绘制试图层次当activity获取焦点时,它必须提供layout层次的根节点,然后android 系统开始视图的绘制过程。绘制是从layout的根节点开始的,按照从上往下的顺序,父元素优先子元素。绘制的两个过程:measuring pass:实现measure(int,int)方法,顺序也是从上往下,每...

weixin_42332910的博客 761

【自定义View】01--常用工具介绍

本文转载自:http://blog.csdn.net/lfdfhl/article/details/51324275 在自定义View的时候,常常会用到一些Android系统提供的API工具。这些API封装了我们经常会用到的方法,比如拖拽View,计算滑动速度,View的滚动,手势处理等等。如果我们自己去实现这些方法会比较繁琐,而且容易出一些bug。所以,先介绍一下这些常用的工具,以便在后续的学习和工作中使用。

mxm691292118的博客 913

Android View滑动相关的基础知识点

本文涉及到的知识点:MotionEvent、ViewConfiguration、VelocityTracker 、GestureDetector、scrollTo、scrollBy、Scroller、OverScroller ###MotionEvent ACTION_DOWN :手指刚接触到屏幕 ACTION_MOVE :手指在屏幕上移动 ACTION_UP :手指在屏幕上松开的一刹那 A...

weixin_34023863的博客 96

Android自定义View探索(二)—常用工具

本文转载自:自定义View系列教程01–常用工具介绍 在自定义View的时候,常常会用到一些Android系统提供的工具。这些工具封装了我们经常会用到的方法,比如拖拽View,计算滑动速度,View的滚动,手势处理等等。如果我们自己去实现这些方法会比较繁琐,而且容易出一些bug。所以了解熟悉这些常用的工具,对我们后续的学习和工作有很大...

weixin_33860147的博客 126
上一篇: 自定义环形进度条
下一篇: ViewPager 和Fragment的使用
安卓鸟
博客等级 码龄15年 14粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值