极致用户体验(1)-交互实现

1,要在交互的时候实现比较好的效果,手势和滑动是最基础的交互方式,所以必不可少的要用Scroller和GestureDetector这两个类。

2,手势滑动一般与抛掷fling又关联起来,实现比较平缓的过渡效果。

3,实现这样的效果,需要以下基础知识

(1)认识Scroller类的fling函数

    /**
     * Start scrolling based on a fling gesture. The distance travelled will
     * depend on the initial velocity of the fling.
     *
     * @param startX Starting point of the scroll (X)
     * @param startY Starting point of the scroll (Y)
     * @param velocityX Initial velocity of the fling (X) measured in pixels per
     *        second.
     * @param velocityY Initial velocity of the fling (Y) measured in pixels per
     *        second
     * @param minX Minimum X value. The scroller will not scroll past this
     *        point.
     * @param maxX Maximum X value. The scroller will not scroll past this
     *        point.
     * @param minY Minimum Y value. The scroller will not scroll past this
     *        point.
     * @param maxY Maximum Y value. The scroller will not scroll past this
     *        point.
     */
    public void fling(int startX, int startY, int velocityX, int velocityY,
            int minX, int maxX, int minY, int maxY) 

源码是上边的代码,startX:起始X位置,startY:起始Y,velocityX:X方向滑动速度,velocityY:Y方向滑动速度,minX:水平滑动最小值,maxX:水平滑动最大值,minY:垂直滑动最小值,maxY:垂直滑动最大值。

(2)滑动过程:调用fling或者调用startScroll都是对Scroller类中的起始位置和终止位置进行设置,要实现真正的滑动,必须重写View类的computeScroll在里边改变参数,并主动调用invalidate刷新当前view,就可以看到效果,注意:这里computeScroll和draw实际上是相互调用的关系,计算滚动距离-》刷新-》在计算距离-》刷新,所以,需要在computeScroll中指定什么时候不需要刷新了,也就是跳出条件,用computeScrollOffset去判断跳出条件。

时间: 2024-08-08 08:39:46

极致用户体验(1)-交互实现的相关文章

高性能极致用户体验前端开发实战

课程介绍 高性能极致用户体验前端开发实战课程适合所有前端开发学习或者从业者,结合目前前端开发的最佳实践,提供前端网页性能分析优化知识,结合实际项目经验分析可以采用的优化思路,并给出开发高性能极致体验网页的通用方法和技巧. 课程官方博客:前端学堂 在开始学习本课程之前,先提2个基本要求: 了解业务 作为一名合格的前端开发,我们的开发工作不是盲目的,我们的优化目标需要明确,所以首先要了解你所做的业务.不仅要知道整个业务背景,还需要了解业务需求,业务目的,最后最好能拿到业务结果. 了解业务的目的是能让

前端和用户体验

虽说俺是个前端工程师,写写代码生成网页就行了,然而这几年工作下来养成的严谨精神和对美学的追求,反而对用户体验的要求越来越高.很多人觉得用户体验是交互和设计负责的领域,前端只要负责生成代码就行.其实作为一个有经验的前端工程师,很有必要弄清楚自己在整个网站开发过程中的地位,以及明白在用户体验这块所具有的影响力. 前端是UI部分最后的也是最全的质量控制员.因为页面的静态代码包括动态交互都是由前端来实现的,这样就会涉及到方方面面的细节.在重构的过程中,我常常以一个普通用户角度去揣摩这样的设计是否符合用户

从日常生活看用户体验设计

从互联网到传统行业,都开始讲究用户体验.这也是时代发展的产物,国人已经不能满足于早期的“有就行”,在竞争激烈的市场环境中开始追求品质,谁家的东西好用才选谁. 用户体验不是单独的个体,它是系统中所有环节必不可少的部分. 小日本没有把用户名体验单独拿出来的说法,他们所有的建筑设计.工业设计.包装设计.服务业.制造业等领域,过程中是必须处理好和人的关系.一位 Panasonic的工程师在介绍未来智能家庭产品时说:“这里所有的投影仪.触控板.灯光.相机.地板那怕到一颗螺丝都是一个整体,这里所有的东西都是

用户体验设计流程与文档编制指

蓝蓝设计( www.lanlanwork.com)是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供有效的 UI界面设计.BS界面设计. cs界面设计. ipad界面设计. 包装设计. 图标定制. 用户体验 .交互设计.网站建设.平面设计服务 来源: speckyboy 如果您想订阅本博客内容,每天自动发到您的邮箱中,请点这里 文档编写有助于产品的概念形成.设计.创造和性能衡量.但是,编写文档的目的不应单单是为了产品维护.毕竟书面上的东西再多也没法跟真正的产品体验相提并论. 正如简约用户

“用户体验不是把每个环节做到极致,而是在关键环节打动用户“这句话对吗?

前几天一位互联网的前辈"亮哥",在他的个人订阅号"张记杂货铺"里发表了一篇名为"用户体验不是把每个环节做到极致,而是在关键环节打动用户"的软文.待我阅读到这篇软文已经是发布数日之后的事了,通读全文后习惯性的扫了一下评论,其中一条评论引起了我的关注--"内容都还没看,就为这个标题激动认可的点赞!..."因为评论人是好友所以我非常认真的读了几遍此文的标题"用户体验不是把每个环节做到极致,而是在关键环节打动用户"

追求极致的用户体验ssr(基于vue的服务端渲染)

首先这篇博客并不是ssr建议教程,需要ssr入门的我建议也不要搜索博客了,因为官网给出了详细的入门步骤,只需要step by step就可以了,这篇博客的意义是如何使用ssr,可能不同的人有不同的意见,我舍弃了ssr中的vuex和vue-router增加了redis,serverfetch等等实现了适合自己公司的业务,个人认为并不是所有的东西都值得吸收,对我来说我能用到的只是ssr将vue生成一个html和对应的js. 虾面我们来看看什么是服务端渲染? 官网给出的解释: Vue.js 是构建客户

扁平交互设计更加符合用户体验

当我们没有智能手机.ipad也没有电脑的时候也许不用考虑各种需求设计了,当然这是玩笑话,随着互联网的发展,交互设计的作用越来越重要,未来的 日子必将围绕用户体验展开.为什么小c会这么自信的说呢?很简单,如果你认定客户就是上帝的话,那么用户体验的初衷就是服务好客户,最终得到收益.UI设计服务 扁平化设计来势汹汹 互联网并不是一成不变的,随着各种智能设备的多样化,交互设计也越来越受商人们重视,由于扁平化设计比其他设计更平易近人,更加容易处理的优势得到业内的热衷.同时移动互联网向着低配置.高效能的方向

提升用户体验的7大微交互

众所周知,我们总是依据封面来判断书的好坏,聪明的设计师会创造实用有吸引力的界面.潜在用户可能会被吸引,但如何一直黏住他们呢? 要试着回答这个问题,所有一切都指向人本设计,其中用户是最主要的考量.以人为本:你的应用应该使用日常用语,包括情绪.口语,外观还要有一丝"诱惑力".界面应当成为你的好朋友,时刻准备给出建议提升你的体验,让你会心一笑. 现在揭幕:是微交互在起作用.精确的说,这主要是界面附带的交互动画,使它更具表现力.优秀的动画能够: 表达状态并提供反馈 提升直接的操纵感 将操作结果

用户体验7大微交互-棒极了

原http://blog.jobbole.com/89270/ 主要是运用交互的微动画来提升用户体验,十分受教,棒极了的几个交互动画 1. 显示系统状态 让用户始终知晓当前在发生什么.用户希望立马得到回应,但总有些情况下,网站需要一点时间等待操作完成. 那么,界面就应当在背景处显示图形,反映完成百分比.或是播放声音,让用户了解当前发生的事情.这个原则也关系到文件传输:不要让用户觉得无聊,给他们看进度条.即使是不太令人愉快的通知,比如传输失败,也应该以令人喜爱的方式展现.让你的用户微笑! 这个上传