android之UI效果研究
文章平均质量分 83
里面主要是研究Android的纯界面上的东东,重在研究原理,也包含一些好的特效收集。
webor2006
码农一个,记录个人成长的点滴~~
展开
-
android高级UI之PathMeasure<三>--Path测量实战(笑脸loading效果实现、划船效果实现)
接着上一次android高级UI之PathMeasure<二>--Path测量实战(各种Loading效果)的PathMeasure学习继续,这里将对PathMeasure的学习进行收尾。笑脸loading效果实现:效果:具体实现:1、新建View:2、画左、右边眼睛:由于左右眼睛就是两个实心圆,绘制比较简单:package com.cexo.pathmeasurestudy;import android.content.Context;impo.原创 2022-03-09 14:20:03 · 292 阅读 · 0 评论 -
android高级UI之PathMeasure<一>--Path测量实战(各种Loading效果)
在上一次android高级UI之PathMeasure<一>--Path测量基础(nextContour、getPosTan、getMatrix、getSegment)已经学习上PathMeasure的基础了,这次则针对它进行一些实际效果的操练加以巩固。实战:各种Loading效果:Loading一:让箭头图片沿圆轨迹走效果:首先来实现在上篇开头所展示的这个效果:如果对于上一篇的整体基础都了解之后,实现这样沿路径轨迹的效果那就很轻松了。实现:1、新建View:原创 2021-12-02 15:00:44 · 1398 阅读 · 0 评论 -
android高级UI之PathMeasure<一>--Path测量基础(nextContour、getPosTan、getMatrix、getSegment)
前言:在上一次android高级UI之贝塞尔曲线<下>--贝塞尔曲线运用:QQ消息气泡完成了对于贝塞尔曲线绘制的学习,今天准备学习UI绘制中经常会用到的跟Path相关的一些知识,也是很重要,但是你不去专门花时间去研究的话其实理解起来也并不轻松,关于掌握了这个技能之后最终你能做出啥UI效果呢?其实很多,这里先提前把要操练的一个效果贴出来,先来感受一下:其中圆是使用Paint绘制出来的,而那个箭头是一张静态图片,如果在你没有了解PathMeasure它的使用之前,碰到这样的效果是不是有点原创 2021-11-04 13:09:17 · 2509 阅读 · 2 评论 -
android高级UI之贝塞尔曲线<下>--贝塞尔曲线运用:QQ消息气泡
在上一次android高级UI之贝塞尔曲线<上>---基本概念、德卡斯特里奥算法 - cexo - 博客园对于贝塞尔曲线的绘制方法进行了一个基础学习,接下来则利用贝塞尔曲线来实际应用一把,其效果之前也展示过,如下:由于之前QQ气泡效果剖析 - cexo - 博客园还学习过一个更加完整关于它的效果,这里就相当于是一个复习+巩固,当然有一些内容在之前已经阐述很清楚的在这里就会略过了,比如直角函数的计算之类的,这里会稍微提一下。QQ气泡实现:效果简单分析:在正式撸码实现之前,先对效原创 2021-10-11 15:49:12 · 264 阅读 · 0 评论 -
android高级UI之贝塞尔曲线<上>---基本概念、德卡斯特里奥算法
在上一次android高级UI之Canvas综合案例操练 - cexo - 博客园对于Android UI绘制中核心的Canvas进行了相关的学习,这块的学习也中断一年多了,既然主业是Android开发,没有任何理由能停止对它的继续学习探索,所以接下来对于Android UI的学习继续。贝塞尔曲线基本概念:目标:对于贝塞尔曲线的绘制其实在之前QQ气泡效果剖析 - cexo - 博客园做QQ汽泡效果时已经用到过了,平常不自定义一些特殊的效果可能不一定能用到,但是!!!如果你不了解它的绘制,可能在需原创 2021-09-15 10:46:38 · 518 阅读 · 0 评论 -
android高级UI之Draw绘制流程、Paint渲染高级应用
Draw绘制流程:在上一次https://www.cnblogs.com/webor2006/p/12167825.html对于View的测量布局进行了整体的学习,接下来则需要关注咱们的UI是如何绘制出来的,此时就需要再来分析一下系统源码【这里以Android 8.1源码进行分析】来梳理整个的调用流程了,根据上一次的测量流程最终会调用到这进行绘制:而这个方法里面会调用performMea...原创 2020-01-10 23:44:00 · 576 阅读 · 0 评论 -
android高级UI之Paint滤镜
在上一次https://www.cnblogs.com/webor2006/p/12178704.html中对于Paint的三大高级用法【渲染,滤镜,Xfermode】之一的渲染进行了学习,这次来学习滤镜这种技法,依旧参考博主https://www.jianshu.com/p/4cbeffbf2f19进行学习~~啥是滤镜呢?如果有玩过单反的人肯定都非常之熟悉,像如果遇到阴天也想要拍出天蓝蓝一片...原创 2020-04-09 08:46:00 · 183 阅读 · 0 评论 -
android高级UI之Paint Xfermode
在上一次https://www.cnblogs.com/webor2006/p/12660322.html学习了Paint的第二高级用法之滤镜效果,接下来这次将它的最后一个高级用法给搞定----Xfermode,这个其实在Android SDK中的APIDemo中详细提到过,我记得好几年前就想研究它,但是一直没敢研透它,所以这次必须攻克它!!了解Xfermode:Xfermode是干嘛用的呢...原创 2020-04-10 09:25:00 · 202 阅读 · 0 评论 -
android高级UI之UI绘制流程(整体启动流程)
对于Android UI的学习在之前也针对性的进行过一些博客记录,但是还是没能系统全面的进行深入,有些零散,而在Android应用开发中它又是非常之重要的“硬”技能,所以接下来重新定下目标,要对它进行全面系统深入的再学习总结之路,目标是不管是对于面试还是实际工作中只要是涉及到UI效果这块都能做到心中有数,来对这块的硬技能的护城河加固再加固,对于新目标的开篇少了不要对UI绘制流程有一个整体的了解,...原创 2019-11-11 23:04:00 · 174 阅读 · 0 评论 -
android高级UI之UI绘制流程(测量布局)
在上一次https://www.cnblogs.com/webor2006/p/11839103.html中对于UI的整体绘制流程有了一个全面的了解,对于我们自定义ViewGroup时都知道会涉及到onMeasure()和onLayout()这两个很重要的流程,所以这一次则集中对这两块的细节给吃透了,还是参考大神的这两篇博客来学习:https://www.jianshu.com/p/4e3e2...原创 2020-01-08 17:26:00 · 125 阅读 · 0 评论 -
线的缩放效果
在上次【https://www.cnblogs.com/webor2006/p/9140811.html】中实现了系统动画中缩放圆的效果,这次还是实现一系列动画的效果中其中一个,先来看下系列动画:要实现的是线条的绽放效果,如下:静态视图绘制:同样的先来绘制出静态的线条效果,先新建一个View:其实现思路就是先绘制出5条静态的竖线,如下:然后再对每针线条进行缩放控制达到我们最...原创 2018-08-05 20:19:00 · 97 阅读 · 0 评论 -
缩放圆效果
在上一次【https://www.cnblogs.com/webor2006/p/9044535.html】已经学习了补间动画的使用了,今天来学习一下属性动画,用这来实现有个官方loading【https://github.com/webor2006/AVLoadingIndicatorView】效果中的两种效果,如下:其中这次实现的效果是它:绘制静态圆:先不考虑动画效果,将静态圆...原创 2018-06-05 17:17:00 · 195 阅读 · 0 评论 -
水波纹效果实现
先来贴一下要实现的最终效果:由于截图软件的原因所以上图看着有些卡,在实际中是比较流畅滴,下面开始来一步步实现它。特殊字体处理:新建工程,然后先来显示一下特殊字体,对于android中如何使用自定义字体这里不多赘述了,比较简单,先将字体文件放至到asserts目录当中:然后新建一个自定义View,在新建之前需要针对这个效果进行一个思考:是直接继承View开搞么?当然是毫无问题滴,但是!...原创 2018-03-24 21:44:00 · 209 阅读 · 0 评论 -
动画学习之Music图形绘制
今天来实现一个类似于网易云音乐类似的动态效果,在用网易云音乐听歌时会有一个类似这样的效果,如下:而咱们这次要实现的效果如下:music图形的绘制:在实现动画之前先来将静态的图形绘制出来, 如下:首先绘制两个圆,如下:所以新建一个自定义View,如下:/** * 音乐加载View * 首先绘制静态图形 */public class MusicLoadingView e...原创 2018-03-19 21:15:00 · 137 阅读 · 0 评论 -
动画学习之WIFI图形绘制
Android原生动画概述:对于APP开发中涉及到的一些动画基本上都可以用Android提供的各种原生动画类来实现,所以在学习自定义动画之前首先来对原生动画进行一个基本的了解,这里不详细对每一个原生动画进行深入学习,因为重点是学会如何自定义动画,其Android支持的原生动画主要有以下三类:①、补间动画【View Animation】:平移动画:TranslateAnimation旋转...原创 2018-01-20 23:51:00 · 288 阅读 · 0 评论 -
美团下拉刷新效果实现
在上一次【http://www.cnblogs.com/webor2006/p/7989766.html】完成了文字箭头的下拉刷新效果,其实是一个通用下拉刷新方案,这次接着这个刷新方案实现一下美团外卖下拉的效果,这个我想用过美团的亲们肯定都比较熟了,还是看一下本尊:而这次实现的最终效果如下:效果基本上跟本尊差不多,而且只是换了个头部效果,其核心下拉的代码全是上一次咱们写好的,所以通过这...原创 2017-12-13 22:51:00 · 295 阅读 · 0 评论 -
万能下拉刷新效果实现
继上次学习了如何实现QQ汽泡效果之后,这次来实现一个新的效果,几乎是每个项目不可获缺的效果,那就是下拉刷新,由于非常之熟悉了,就不过多说明了,另外这里依然也涉及到对事件的处理,应该说是基于这个效果的实现进一步来巩固对android的事件分发理解,说不多说进入正题。效果演示:先来看一下最终要实现的效果:当然市面上下拉刷新的效果千奇百怪,对于前阵子又融资了的美团在他们的美团app中就有一个下...原创 2017-12-05 22:17:00 · 108 阅读 · 0 评论 -
在RecyclerView中集成QQ汽泡一
上次已经实现了QQ汽泡的自定义View的效果【http://www.cnblogs.com/webor2006/p/7726174.html】,接着再将它应用到列表当中,这样才算得上跟QQ的效果匹配,下面开始:RecyclerView的列表实现:至于RecyclerView是如何使用的这里不过多讨论,不过之后有时间会对它的使用进行一个剖析滴,这里快速实现一个列表既可,如下:要想使用它首先需...原创 2017-11-05 15:20:00 · 82 阅读 · 0 评论 -
QQ气泡效果剖析
对于QQ汽泡效果我想不用多说了,都非常的熟悉,而且当时这效果出来简直亮瞎眼了,挺炫的,这里再来感受下:而这次只实现单个汽泡的效果,并不涉及到加入Listview上的处理,一步步来,先上一下最终这次要实现的效果:分析:对于这么复杂的效果首先得要将它的功能进行拆解,首先先静止观察其效果:两端可以分为两个圆:然后中间连接成曲线:这时再将空心的地方进行红颜色填充,如下:最终是不...原创 2017-10-24 22:15:00 · 146 阅读 · 0 评论 -
在RecyclerView中集成QQ汽泡二
上次已经将GooView集成到RecyclerView当中了【http://www.cnblogs.com/webor2006/p/7787511.html】,但是目前还有很多问题,下面先来运行看一下存在的问题:如上图所示:当点击汽泡显示咱们的GooView时,拖着它横向移动当前的GooView不响应事件,且拖着向上或向下移动时,居然列表在动,而GooView没有动,很明显这个移动的事件被R...原创 2017-11-19 17:15:00 · 195 阅读 · 0 评论 -
给之前绘制的饼状图增加点击扩大突出效果
在这篇博客【http://www.cnblogs.com/webor2006/p/7401912.html】中已经学习过如何绘制一个饼状图了,这里在其基础上进行拓展,先上最终效果:这种效果在开源库中经常遇见,而正好有一个类似的效果出现在公司的项目中,不过公司的更加酷炫,所以先把这个研究清楚之后再来把公司的那个效果也记录一下,好了,话不多话,进入编码【注:完全是基于上次现有的实现代码去拓展滴】...原创 2017-10-18 16:21:00 · 266 阅读 · 0 评论 -
给之前绘制的图形菜单增加随触摸360度旋转效果
上次实现了圆形菜单的绘制【http://www.cnblogs.com/webor2006/p/7525979.html】,这次对它加上触摸旋转效果,实际上就是建行手银APP里面的一个效果,先贴上最终效果:整理思路:那如何才能够实现上面这种效果呢?先来分析下上一次的代码:public class CircleMenu extends ViewGroup { /* 代表是子视图所...原创 2017-10-21 16:18:00 · 94 阅读 · 0 评论 -
Graphic系统综合练习案例-绘制饼状图
这里用一个案例来将之前学过的关于绘制相关的东东加强巩固一下,纯绘制,木有加点击效果,先来看下最终效果:github中这种百分比饼图的效果非常非常之多,实际在项目中开发当产品有这样类似的需求时做为开发着的我们第一想法可能就是先去找开源的,然后基于开源的进行适当修改修改就变成自己的了,但是往往去修改开源的项目是比较费时的,而如果不了解其原理可能折腾半天最终发现还不如自己从头继承View按自己的思路...原创 2017-08-20 22:57:00 · 201 阅读 · 0 评论 -
Canvas对画布及文字控制基础API学习
这次纯API练习,比较简单,但是是为了之后的结合项目打基础的,所以也不能忽视它,下面开始:Canvas的平移、旋转、缩放这里还是以上次画那个青春痘的DEMO为例【http://www.cnblogs.com/webor2006/p/7341697.html】,在此基础上进行画步操作,先贴一下目前的代码及效果:/** * 自定义View操练----画一个形象可爱的笑脸^_^ */pu...原创 2017-08-20 15:48:00 · 124 阅读 · 0 评论 -
android高级UI之Canvas(坐标系、Layer)
在上一次https://www.cnblogs.com/webor2006/p/12664585.html已经对于Paint的三大高级技法有所了解了,接下来对于View的绘制还差另一个非常重要的对象----Canvas,俗称画布,关于它其实主要要学习两个内容:坐标系、Canvas状态保存,接下来则来攻克它们。坐标系:前言:关于这块的学习还是参考博主:https://www.jianshu....原创 2020-04-14 20:42:00 · 287 阅读 · 0 评论 -
android高级UI之Canvas综合案例操练
在上一次https://www.cnblogs.com/webor2006/p/12679470.html对于Canvas的坐标系和Layer进行了学习,这次来看一个关于Canvas的综合案例,对之前的学习加以巩固,其实现也不是很简单,下面一点点来攻克它。效果演示:先来看一下最终的效果:其中这个效果一般会应用于相机APP中,看一个下面从fragmentapp.com【貌似目前该网站打不开...原创 2020-05-13 13:07:00 · 367 阅读 · 0 评论 -
自定义控件之Canvas图形绘制基础练习-青春痘笑脸^_^
对于自定义控件的意义不言而喻,所以对它的深入研究是很有必要的,前些年写过几篇关于UI效果的学习过程,但是中途比较懒一直就停滞了,而对于实际工作还是面试来说系统深入的了解自定义控件那是很有必要的,所以接下来会不断的去记录自己学习关于自定义控件一些心路历程,重点是要深入剖析其机制的原理。而从最基础Canvas的绘制开始练习,没有扎实的基础何谈深入呢?而这里最终会实现一个人的笑脸的样子来学一些基础的...原创 2017-08-10 22:08:00 · 206 阅读 · 0 评论 -
自定义ViewGroup基础巩固1---理解onLayout()方法
自定义ViewGroup这个是在android中自定义控件中不可获缺的很重要的一部分,关于它的意义这里就不过多阐述了,为了在未来深入上继续走下去,所以先把基础给打牢。这篇主要是理解ViewGroup中如何去通过onLayout方法去布局添加的子控件,那另外一个自定义ViewGroup的也很重要的方法onMesure方法呢?下篇再来学习,一步步来,首先先新建一个ViewGroup,搭建基础框架:...原创 2017-09-11 21:43:00 · 102 阅读 · 0 评论 -
自定义ViewGroup基础巩固2---onMeasure()学习及综合实现圆形菜单
上次对自定义ViewGroup中的onLayout()方法进行了基础巩固【http://www.cnblogs.com/webor2006/p/7507284.html】,对于熟知自定义ViewGroup的人应该都知道还有另外一个非常重要的方法在自定义ViewGroup中是不可获缺的,那就是onMeasure(),所以这次好好学习下它,为了更激情的学习,它的学习会融入到一个实际案列中,先贴一下该...原创 2017-09-15 13:34:00 · 101 阅读 · 0 评论 -
自定义View-----汽泡效果
先来看一下这次要实现的最终效果:首先来实现效果一,为实现效果二做充足的准备,下面开始:新建工程,并定义一个自定义View,然后将其定义在布局文件中,里面是空实现,之后会一步步来填充代码:MyRing.java:public class MyRing extends View { public MyRing(Context context, AttributeSet att...原创 2015-09-09 07:55:00 · 74 阅读 · 0 评论 -
从头至尾一点点实现自己的ViewPager效果
对于ViewPager,应该没有人在项目中没使用过它,效果非常的赞,使用也非常简单,但是如果自己来实现这样的效果,我想并非三下五除二的事了,这里涉及到怎么自定义ViewGroup了,它相比自定义View还要复杂一些,所以这次从头自尾一点点实现这样的效果来对自定义ViewGoup有深刻的认识,知其原理才能做到随心所欲,下面开始:先预览一下要实现的效果图:下面则新建一个工程慢慢来实现它:首先...原创 2015-07-26 10:02:00 · 233 阅读 · 1 评论 -
自定义控件之滑动开关按钮
对于Android的自定义控件是自己一直想研究总结的,所以未来会从基础开始,一点点来学习一些自定义控件的效果,这些知识并非完全自己来研究的,但是是自己学习成长的点滴记录,重在搞懂原理,言归正传~这次要实现的滑动开关按钮的效果如下:【说明】:之后所有的自定义效果的学习文章都是先上效果图之后,然后再一步步从无到有的去实现。从效果图中可以发现,这是一个"很简单"的开关按钮控件,也就是平常使用的...原创 2015-07-06 21:26:00 · 172 阅读 · 0 评论