首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏android技术

    Android--CoordinatorLayout源码分析及NestedScrolling机制

    The parent may optionally consume the fling or observe a child fling. The parent may optionally consume the fling or observe a child fling. Vertical fling velocity in pixels per second * @param consumed true if the child consumed the fling * *

    Nested pre-fling events are to nested fling events what touch intercept is to touch If a parent view consumed the fling this method will return false.

    92330发布于 2020-07-03
  • 来自专栏全栈程序员必看

    android 触摸屏事件_android studio按钮点击事件

    ,且移动速度大于FLING_MIN_VELOCITY个像素/秒 finalintFLING_MIN_DISTANCE = 100,FLING_MIN_VELOCITY = 200; if (e1.getX () – e2.getX() >FLING_MIN_DISTANCE &&Math.abs(velocityX) > FLING_MIN_VELOCITY){ // Flingleft Log.i( getX() – e1.getX() >FLING_MIN_DISTANCE &&Math.abs(velocityX) > FLING_MIN_VELOCITY){ // Flingright Log.i .getY()-e1.getY()>FLING_MIN_DISTANCE && Math.abs(velocityY)>FLING_MIN_VELOCITY) { // Flingdown Log.i getY()-e2.getY()>FLING_MIN_DISTANCE && Math.abs(velocityY)>FLING_MIN_VELOCITY) { // Fling up Log.i(

    2.9K30编辑于 2022-10-01
  • 来自专栏【Android开发基础】

    android 横向滑动分类效果实现

    = 200;// 水平方向手指滑动距离最小值 private int FLING_MIN_VELOCITY = 0;// 垂直方向手指滑动距离最小值 @Override public MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY) { // SingleToast.show(getContext (), "向左手势"); setTip(2); } else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY) { // SingleToast.show(getContext(),

    1.5K10编辑于 2023-02-10
  • 来自专栏风吹杨柳

    2014-11-8Android学习------手势识别事件的处理GestureDetector--------动画Animation学习篇

    ,且移动速度大于FLING_MIN_VELOCITY个像素/秒 final int FLING_MIN_DISTANCE = 100, FLING_MIN_VELOCITY ) { // Fling left Log.i("MyGesture", "Fling left"); Toast.makeText(this , "Fling Left", Toast.LENGTH_SHORT).show(); } else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY) { // Fling right Log.i("MyGesture ", "Fling right"); Toast.makeText(this, "Fling Right", Toast.LENGTH_SHORT).show();

    1K40编辑于 2022-03-07
  • 来自专栏王小二的Android站

    [063]微信越滑越卡

    mDataChanged) { //ListView的数据没有更新 if (mTouchMode == TOUCH_MODE_FLING) {//ListView处于Fling 的状态 // Stopped a fling. && scroller.isScrollingInDirection(0, yvel)) { // Keep the fling mScroller.isFinished()) { return; } // Fall through case TOUCH_MODE_FLING mCheckFlywheel,mCheckFlywheel将会检查ListView是否应该停止 onTouchUp会postOnAnimation(FlingRunnable),让ListView开始Fling

    1.3K20发布于 2021-04-02
  • 来自专栏程序员开发工具

    NestedScrolling 机制深入解析

    动作之前,提供机会scrolling parent 先于scrolling child 处理 fling 动作。 三个参数都是输入参数,velocityX 表示水平方向的速度,velocityY 表示垂直方向感的速度,consumed 表示scrolling child 是否消费 fling 动作 。 返回值也是布尔类型的,表示scrolling parent 是否有消费了fling 动作或者对 fling 动作做出相应的 处理。true 表示有,false 表示没有。 动作之后,提供机会给 Scrolling Parent 处理 fling 动作。 ChildHelper 询问 Parent 是否需要先于 child 进行 Fling 动作 在 Child 处理完 Fling 动作时候,如果 Scrolling Parent 还需要处理 Fling

    1.1K30发布于 2018-09-17
  • 来自专栏每天学点Android知识

    让View具有减速效果的动画——FlingAnimation

    目前主要有两种DynamicAnimation,分别是: Spring Animation 类比弹力 Fling Animation 类比速度、动量 本文主要介绍Fling Animation。 support-dynamic-animation:28.0.0' } 创建一个FlingAnimation FlingAnimation的创建需要指定View以及动画的属性,接下来就是设置一些属性, val fling { super.onCreate(savedInstanceState) setContentView(R.layout.activity_fling) mainLayout.viewTreeObserver.addOnGlobalLayoutListener main/java/com/xingfeng/jetpackdemo/animation 参考文章 https://developer.android.com/guide/topics/graphics/fling-animation introduction-to-physics-based-animations-in-android-1be27e468835 https://medium.com/@temidjoy/android-animations-and-transistions-fling-animation-f5bf42bfef55

    1.7K20发布于 2019-08-17
  • 来自专栏韩曙亮的移动开发专栏

    【Android应用开发】RecycleView API 翻译 (文档翻译)

    The parent may optionally consume the fling or observe a child fling. Parameters velocityX Horizontal fling velocity in pixels per second velocityY Vertical fling velocity Parameters velocityX Horizontal fling velocity in pixels per second velocityY Vertical fling velocity in the axis fling is issued. the minimum velocity to start a fling.

    2.1K40编辑于 2023-03-27
  • 来自专栏鸿蒙开发笔记

    HarmonyOS 开发实践——滑动页面占位符加载完成时延问题分析思路&案例

    处理流程如下图:加载完成时延起始点:APP_LIST_FLING终点视为滑动停止,则是加载完成时延起始点。 滑动页面占位符加载完成,是以滑动停止为起始点,在Trace中APP_LIST_FLING泳道可以体现滚动视图的FLING惯性滚动状态的起止,惯性滚动停止则滚动停止,此时开始计算占位符加载时延。 查找步骤:1、搜索APP_LIST_FLING,2、找到APP_LIST_FLING泳道,星标后即可置顶查看,3、Trace标记了惯性滚动区间,4、APP_LIST_FLING结束点=加载完成完成时延起始点 加载完成时延终止点:APP_LIST_FLING终点视为滑动停止后,图片加载完成即页面不再发生变化(应用侧不提交Vsync信号到RenderService),则是加载完成时延终止点。 3.在FLING结束点,往后查看Frame应用侧帧渲染情况,是否出现异常帧、超长帧。此时一般结合应用进程UI主线程查看具体的组件渲染详情。

    1.1K10编辑于 2024-11-15
  • 来自专栏【Android开发基础】

    判断listview 各种滑动状态

      /**      scrollState有三种状态,分别是SCROLL_STATE_IDLE、SCROLL_STATE_TOUCH_SCROLL、SCROLL_STATE_FLING         SCROLL_STATE_IDLE是当屏幕停止滚动时         SCROLL_STATE_TOUCH_SCROLL是当用户在以触屏方式滚动屏幕并且手指仍然还在屏幕上时         SCROLL_STATE_FLING { case SCROLL_STATE_TOUCH_SCROLL: scrollFlag = true; break; case SCROLL_STATE_FLING

    76310编辑于 2023-02-10
  • 来自专栏Android技术分享

    Android:让你明明白白的使用RecyclerView——SnapHelper详解

    操作 首先来了解一个概念,手指在屏幕上滑动RecyclerView然后松手,RecyclerView中的内容会顺着惯性继续往手指滑动的方向继续滚动直到停止,这个过程叫做FlingFling操作从手指离开屏幕瞬间被触发,在滚动停止时结束。 the fling velocity on the Y axis * * @return true if the fling washandled, false otherwise ()方法模拟fling操作,通过将起点位置都置为0,此时得到的终点位置就是滚动的距离 mGravityScroller.fling(0, 0, velocityX, velocityY, ()方法模拟fling操作,将fling的起点位置为设置为0,此时得到的终点位置就是fling的距离。

    7K40发布于 2019-08-09
  • 来自专栏码工非码

    RecyclerView嵌套RecyclerView完美实现京东tab吸顶效果

    dispatchNestedPreScroll() 2、自己消耗 scrollByInternal() 3、父类消耗 dispatchNestedScroll() ---------------- fling ---------------- 4、父类是否消耗fling事件 dispatchNestedPreFling() 5、4不消耗,则父类dispatchNestedFling& 自己mViewFlinger.fling

    3.1K20发布于 2020-10-26
  • 来自专栏今天学习了吗

    VelocityTracker使用

    1 简介 VelocityTracker用于触摸事件的速度追踪,它可以获取当前触摸事件的速度值,根据速度值,我们可以判断当前的手势是否是fling等。 通常用于实现fling时的滑动效果,以其让控件显得丝滑流畅。

    86520发布于 2021-10-20
  • 来自专栏ADAS性能优化

    EAS Profiling On Hikey960

    Animationfor rendering whole screen color ○ “Galleryfling” - Launchgallery with hundreds pictures and fling pictures ○ “Recentfling” - Openrecents screen and fling recent tasks list ○ “Emailfling” - Open emailapp and fling emails list ○ “Browserfling” - Openbrowser icecat and fling the webpage Controlgroups (CGroups

    51010编辑于 2022-05-13
  • 来自专栏胡飞洋的Android进阶

    嵌套滑动通用解决方案--NestedScrollingParent2

    * * 处理 header + recyclerView * Description:NestedScrolling2机制下的嵌套滑动,实现NestedScrollingParent2接口下,处理fling 0] 水平消耗的距离,consumed[1] 垂直消耗的距离 好让子view做出相应的调整 * @param type 滑动类型,ViewCompat.TYPE_NON_TOUCH fling 0] 水平消耗的距离,consumed[1] 垂直消耗的距离 好让子view做出相应的调整 * @param type 滑动类型,ViewCompat.TYPE_NON_TOUCH fling 0] 水平消耗的距离,consumed[1] 垂直消耗的距离 好让子view做出相应的调整 * @param type 滑动类型,ViewCompat.TYPE_NON_TOUCH fling dyUnconsumed 垂直方向嵌套滑动的子View未滑动的距离(未消耗的距离) * @param type 滑动类型,ViewCompat.TYPE_NON_TOUCH fling

    4.5K31发布于 2020-07-23
  • 来自专栏阿策小和尚

    【Flutter 专题】134 图解动画小插曲之 SVGA 动画

    SVGAAnimationController 没有提供对应的暂停方法,和尚将 stop 理解为暂停和停止,若继续播放则调用 forward 即可; reverse 动画反转,即反向播放动画; repeat 动画重复; fling 使用临界阻尼弹簧和初始速度驱动动画;和尚简单理解在正向播放时,fling 会按起始速度播放完成; @override void initState() { super.initState(); stop(); } else if (str == 'fling') { animationController?. fling(); } setState(() {}); }))); SVAG & Lottie 和尚查阅了一些资料

    1.8K40发布于 2021-08-25
  • 来自专栏鸿蒙开发笔记

    HarmonyOS 开发实践——同页面内抛滑操作响应时延问题分析思路&案例

    在设备列表选择设备,选择要测试的应用,和主进程2)创建Frame模板,并点击录制,待泳道都进入到recording状态后,在应用上复现测试场景附录二场景通用 Trace 流程点说明H:APP_LIST_FLING :List的单次抛滑过程,可以通过应用进程下的H:APP_LIST_FLING泳道标识滑动场景通用流程抛滑首帧响应时延起点终点基线首问责任领域input阶段首个坐标变化对应irq/thp1首个坐标变化对应 CommitAndReleaseLayersGPU渲染完成提交RSHD进行合成注意:未提交的帧的SendCommands下方无H:MarshRSTransactionData Trace点总结: 从上面的流程图可以看出,APP_LIST_FLING 因此可以通过APP_LIST_FLING 快速定位滑动响应过程trace 点。 report touchId:2242, type: down id: 0, x:709, y:2162mmi_service在屏幕上坐标开始变化type 为move 的点2应用H: APP_LIST_FLING

    38710编辑于 2024-11-17
  • 来自专栏APP自动化测试

    Android自动化测试探索(四)uiautomator2简介和使用

    惯性滚动控件 # fling forward(default) vertically(default) d(scrollable=True).fling() # fling forward horizontally d(scrollable=True).fling.horiz.forward() # fling backward vertically d(scrollable=True).fling.vert.backward () # fling to beginning horizontally d(scrollable=True).fling.horiz.toBeginning(max_swipes=1000) # fling to end vertically d(scrollable=True).fling.toEnd() #7.

    7.1K20发布于 2019-10-15
  • 来自专栏andy的小窝

    关于安卓下拉刷新时的悬浮菜单栏

    scrollTo(0, mOverScroller.getCurrY()); invalidate(); } } public void fling (int velocityY) { mOverScroller.fling(0, getScrollY(), 0, velocityY, 0, 0, 0, getHeaderViewHeight mVelocityTracker.getYVelocity(); if ((Math.abs(initialVelocity) > mMinimumVelocity)) { fling int scrollState) { if ((scrollState == SCROLL_STATE_IDLE || scrollState == SCROLL_STATE_FLING

    1.7K20发布于 2020-02-12
  • 来自专栏设计模式

    Google I/O ‘17 新推出的物理动画库

    Fling Animation Spring Animation 创建自定义的动画属性 动画监听 1 概述 Google I/O ‘17推出了许多新的特性,在动画这一块又有新的API供开发者使用,具体视频请见 Fling Animation 看下怎样创建FlingAnimation: ? 效果如下: ? Thanks to Adding Physics-Based Animations to Android Apps Physics-based Animations Spring Animation Fling

    1K30发布于 2020-12-15
领券