首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发笔记(四十五)手势事件

    上面可以看出,只有容器类才能操作onInterceptTouchEvent方法,这是因为该方法用于拦截发往下层视图的事件,而控件类已经位于底层只有被拦截的份没有拦截别人的份,同样页面类本身并不拥有下层视图...,通常用于点击事件 onScroll : 在用户滑动过程中调用 onLongPress : 在用户长按时调用,通常用于长按事件 onFling : 在用户飞快掠出一段距离时调用,通常用于翻页事件...2、在底层控件中,如果当前手势还未处理完成,那么必须阻止上级视图的手势拦截。...下面示例代码演示了这么一个意图:当用户按下或者滑动时,当前控件需要响应手势事件,请上级视图不要拦截手势;当用户松开或取消时,当前控件已经处理完毕,允许上级视图拦截手势。...Scroller是Android用于计算滑动参数的辅助类,常用方法如下: startScroll : 设置开始滑动的参数,包括起始的xy坐标、xy偏移量,另一个重载的方法还可以设置滑动的持续时间

    1.3K30

    【AI防熊孩子抢手机】浙大开发算法软件,轻松识别儿童玩手机

    在iCare中研究人员开发了一种算法,用于测量用户与移动设备的互动,并可以可靠地分辨出用户是成人还是小孩。...在实验中,我们使用与所有主题相同的智能手机(由LG生产的Google Nexus 5X,运行Android v.7.1.1),并关闭其自动旋转功能以消除与各种手持相关的偏差。...我们基于智能手机的两项常见活动设计了一个两阶段应用程序:解锁手机(点击手势)和玩游戏(滑动手势)。 ? 点击手势在第一阶段收集。如图2(a)所示,在屏幕的顶部出现一个PIN码,用户被要求输入它。...在本节中,我们将探索将不同数量的连续滑动组合用于分类对性能的影响。到目前为止,我们只使用相对较大的滑动数据集来进行多笔划评估。首先,我们分开将数据集转换为训练和测试集。...限制与未来探讨:儿童多样性、有限的手势等 有几个问题有待探讨。 1、由任务属性造成的偏差。虽然没有限制用户如何执行触摸手势,实验中使用的具体应用(任务)会影响手势几何。

    1.4K160

    如何处理手势冲突 | 手势导航连载 (三)

    除了游戏之外,有一些常见的 UI 也可能在这里回答 "是": 图片裁切 UI,其中用于裁切图片的控制点可能位于屏幕左/右边缘附近。 绘图应用,用户可以在屏幕画布上绘图 (自然也是滑动操作)。...问题 4: 该视图/控件需要滑动拖动交互吗? 这个紧接着问题 3 。在问题 3 中回答 "是" 的视图,是否需要用户在其上滑动或拖拽?...即使考虑加上了内外边距的情况,用户仍然可以正常通过滑动操作来翻看里面的图片。 问题 6: 该视图/控件是否和强制系统手势交互区域重叠? 最后一个问题询问该控件是否位于系统强制手势导航交互区域内。...应用可以通过 Android 10 中新增的系统手势区域排除 API 来让系统边缘的一部分区域不响应系统手势。...这是因为右半部分适用于那些需要全屏绘制内容的应用,我们将在下一篇手势导航连载中为您继续讲解,敬请保持关注。

    5K30

    Material Design —卡片(Cards)

    支持的手势 滑动(swipe) 拾取并移动(Pick-up-and-move) 相关组件 网格列表(Grid lists) 对于开发者 Android卡片 聚合卡片(Polymer cards) ---...左:网格tile以干净轻量方式展示图片库    右:卡片不适合展示同类内容 ---- 内容 卡片为联系更紧密的信息和视图提供上下文和入口点,其内容和数量可能会有很大差异。...但是,它们在卡内的大小和位置取决于图像是主要内容还是用于补充卡片上的其他内容。 背景图像 当文字放置在纯色背景上时,文字清晰度最高,且文字对比度足够高。 放置在图像背景上的文本应该保留文本的易读性。...支持的手势 卡片手势应始终在卡片集合中实施。 支持的手势包括: 滑动手势(swipe gesture)可以在每张卡片上使用。限制视图内的轻扫手势,使其不会彼此重叠。...例如,可滑动的卡片不应该包含可滑动的图像,以便在滑动时只发生一次动作。 如果用户对集合内的卡进行分类很重要,则可以使用拾取并移动手势(pick-up-and-move gesture)。

    4.3K100

    Android开发笔记(二十一)横幅轮播页Banner

    那么在手机上还有另外一种切换页面的方式,就是通过手势左右滑动,ViewPager就是这么一个左右滑动来切换页面的控件。...ViewPager的基本思想跟适配视图差不多,都是定义一组元素,通过适配器来展示与响应不同元素的处理,适配视图的相关说明参见《Android开发笔记(三十八)列表类视图》。...ViewFlipper与ViewPager的区别 1、手势左右滑动产生翻页动作 ViewPager可自动响应左右滑动事件,但ViewFlipper不会自动处理,必须在页面上注册一个手势探测器GestureDetector...对于ViewPager,我们无需关心左右滑动的手势,因为ViewPager已经自动实现了。...所以Banner还需要把一个页面点击的监听器接口开放出来,用于主页面响应这个页面点击事件。

    3.7K30

    Android开发笔记(一百零一)滑出式菜单

    办法肯定是有的,在《Android开发笔记(三十五)页面布局视图》中,我们提到margin和padding都可用来设置空隙,空隙的数值都是正数,其实空隙值也能是负数,负数表示该视图被隐藏了一部分,仿佛一张纸插了部分纸面到书中...一旦触摸弹起,根据手势滑动的距离,判断当前是要拉出整个菜单,还是缩回才拉出一部分的菜单。...HorizontalListView 上面说的侧滑菜单只适用于单个Activity页面,如果要在其他页面也使用侧滑菜单,显然是不方便的。...当然,要把HorizontalListView作为侧滑菜单来使用,我们还需要对其做下列改造: 1、在手势松开的时候,根据当前的滑动偏移,自动判断接下来是往左滑动对齐,还是往右滑动对齐。...3、通过手势滑动拉出菜单页后,要捕获点击事件完成翻页,即在onSingleTapUp方法中将当前页面切换到内容页。 下面是采用HorizontalListView实现侧滑的效果截图: ?

    1.2K70

    关于 Android 实现滑动返回的几种方法总结

    super.onCreate(savedInstanceState); setContentView(R.layout.activity_fruit); //用于设置向右滑动为返回...,用来监听滑动的手势,并重写 GestureDetector.OnGestureListener,在重写的方法里面加入相应的逻辑处理,详细的解释我会写在代码里。.../** * 构造一个手势滑动返回的基类,需要使用滑动返回的Activity只需继承该类就行 */public class GestureBackActivity extends AppCompatActivity...还有一种滑动返回的实现是直接在 Activity 里面实现的,在中间 Activity 里通过手势监听来实现的,但我觉得这样并没有什么兼容性,没有上面的三种方法扩展性强,所以我这里就不阐述了,给出一篇博客...推荐博客区 下面先给出与本博客相关的额博客并感谢这些博主: 仿手机 QQ 聊天列表滑动菜单删除和手势滑动返回的两种方式(http://blog.csdn.net/finddreams/article/details

    5.1K90

    沉浸模式 | 手势导航连载 (四)

    作者 / Chris Banes, Android 开发者关系团队工程师 本文是手势导航连载的第四篇文章,如果您希望了解其他手势导航的话题,请查看本系列的其他文。...这两种模式都有两种状态: 系统栏隐藏: 在此状态下,返回主屏幕手势和后退手势均被禁用。用户必须首先从边缘向内侧滑动才能让系统栏显示。...如果您的应用正在使用非粘性沉浸模式,我们建议您回顾一下前文,避免在屏幕边缘出现的视图与系统手势出现冲突。...我们来看一下运行在 Android 10 上,且使用手势导航的 Markers 绘图应用: image.png 如上图所示,一旦用户开始在屏幕边缘附近滑动 (绘制),就会触发后退手势,这会打断用户当前的操作...在实现方面,此处使用的代码大体沿用自第三篇文章中的 "使用手势区域排除 API" 部分,不同之处在于,我们希望视图能够知道它自身是否处于沉浸模式之中: private val exclusionRects

    1.3K30

    Android开发笔记(一百六十四)仿京东首页的下拉刷新

    虽然Android提供了专门的下拉刷新布局SwipeRefreshLayout,但它并没有页面随手势下滚的效果。...新的上层视图需要完成以下三项任务: 一、在下层视图的最前面自动添加一个下拉刷新头部,保证该下拉头部位于整个页面的最上方; 二、给前面自定义的滚动视图注册滚动监听器和触摸监听器,其中滚动监听器用于处理到达顶部.../底部的事件,触摸监听器用于处理下拉过程中的持续位移。...既要准确响应正常的下拉手势,也要避免误操作不属于下拉的手势,比如下面几种情况就得统筹考虑: 1、水平方向的左右滑动,不做额外处理; 2、垂直方向的向上拉动,不做额外处理; 3、下拉的时候,如果尚未拉到页面顶部...,也不做额外处理; 4、拉到顶之后继续下拉,则隐藏工具栏的同时,还要让下拉头部跟着往下滑动; 5、下拉刷新过程中松开手势,判断下拉滚动的距离,距离太短则直接缩回头部、不进行页面刷新;只有距离足够长,才能触发页面刷新动作

    2.9K40

    【错误记录】Android 应用漏洞修复处理 ( 截屏攻击漏洞 | Android 系统的截屏方式 | 通过 adb 命令截屏 |Android 截屏代码 | Android 设置禁止屏幕截屏代码 )

    可能会 请求截屏权限 并将截屏的内容上传到远程服务器 , 尤其是账号密码输入界面的截屏 ; 操作系统漏洞利用 : 利用操作系统中的 漏洞 来执行 未授权的截屏操作 ; 屏幕录制 : 屏幕录制技术 也可能被用于窃取用户的屏幕信息...; 二、Android 系统的截屏方式 在 Android 系统中 , 用户可以 通过 特定的键盘组合触发 截屏 ; 电源键 + 音量减小键 : Android 设备上触发截屏的组合键 , 系统会触发截屏操作..., 并将当前屏幕内容保存为图片文件 ; 手势操作: 滑动手势 : 在特定的 Android 设备上 , 可以使用手势或者滑动手势来触发截屏操作 ; 通知栏快捷方式: 通知栏菜单 : 有些 Android...根 View 视图 ; View rootView = activity.getWindow().getDecorView().getRootView(); 然后 , 创建一个空的 Bitmap 对象...ScreenshotUtils { // 截屏并保存到指定文件 public static void takeScreenshot(Activity activity) { // 获取屏幕内容的视图

    19610

    干货 | 携程机票RN复杂交互实践

    本节主要简单讲述往返双栏的手势实现以及遇到的主要问题: Android平台,子View为ScrollView手势交互事件被列表滚动事件拦截打断 部分操作场景下,手势事件通知参数不符合预期 这两个问题严重地影响用户的交互体验...当PanResponder绑定的父View包含ScrollView作为子View时,在Android平台上即使响应事件已经交由父View做处理,左右滑动时依然会触发List的滚动。...项目中将动画移动的距离作为滑动方向的依据,当为0时无法判断手势的移动方向。...所以默认情况下,Android平台有可能会剔除单纯用于布局的View,进而导致属性开启时,有概率会导致Android平台上组件的动画失效,在使用时需要注意。...因此对于这类AnimatedView需要显示指定collapsable属性为false,保证其不会在视图中被移除。

    4.8K20

    Android开发笔记(一百四十二)平滑翻页的书籍浏览

    在Android的控件家族当中,比较接近上下层叠方式的是栈视图StackView,它的前后两项视图有部分是重叠在一起的,然后可以通过上下滑动来切换当前显示的顶层视图。...StackView的使用方式类似于ListView,都是调用setAdapter方法设置一组子项,多出来的属性只有loopViews,该属性用于控制是否循环显示子项视图。...自定义层叠翻页控件,可借鉴ViewFlipper的实现,首先定义一个总体的框架视图,用于存放当前页面与前后两页;其次定义具体页面的视图,每个页面视图展示一个PDF页面。...框架视图主要负责两块工作: 1、接管屏幕上的触摸事件,通知当前的页面视图向左或者向右滑动,并在松开手势时判断接下来是继续翻页,还是恢复原状; 2、在翻页结束时,在屏幕上重新组织当前页面与前后两页,类似于...ViewPager+Fragment的三页缓存机制; 页面视图主要负责三块工作: 1、将当前页面高亮显示,其它页面变暗显示; 2、按照用户的手势触摸,将当前页面滑动相应的距离; 3、在用户松开手势时,如果当前页面滑动距离不超过页面宽度的二分之一

    1.2K10

    处理视觉冲突 | 手势导航 (二)

    自然,我们可以使用 insets 区域来尝试解决视觉冲突,如把视图从屏幕边缘向内移动到一个合适的位置。...Android 10 带来了新的手势导航模式,允许用户通过手势动作,而不是导航按钮来进行导航: 从屏幕左/右边缘向中间滑动,相当于后退按钮 (Back)。...从屏幕底部开始向上滑动,可以让用户切换最近使用的应用 (Recent)。 在系统手势区域中,系统手势操作优先于应用自己的手势操作。您可能已经注意到系统手势区域有两个获取方法。...在 Android 10 上,系统手势区域如下: △ 左/右侧的后退操作区域宽 40dp,下方的主屏操作区域高 60dp 如果您有需要滑动操作的控件出现在了系统手势区域内,就可以使用对应的数值来将这些控件挪开...注意: 如果您要在 ViewGroup 上执行此操作,则可能要对其进行设置 android:clipToPadding="false"。这是因为默认情况下,所有视图都会在填充区域内裁剪图形。

    2.8K30
    领券