
Android特效
文章平均质量分 84
安卓实际项目中常见的动画、特效等实现原理及方法
白玉梁
一个Java、Android、Swift、Vue、React、Flutter、Python、Harmony都会点儿的全栈攻城狮……
展开
-
高仿京东2020版首页效果2
本篇效果图:GitHub:https://github.com/baiyuliang/JdRefresh上一篇:高仿京东2020版首页布局及刷新效果,缺点是用了NestedScrollView嵌套了ViewPager,效果可以实现,但实际应用中体验似乎还是有点差的,原因可以查看该篇博客尾部说明。第一版得布局结构图:起初考虑到TabLayout和RecyclerView(ViewPager中)可以一起滑动,所以很容易想到的办法就是用Scrollview将两者嵌套进去,效果是实现了,但是Scroll原创 2021-09-06 18:31:40 · 497 阅读 · 0 评论 -
拼团列表item自动滚动+倒计时实现
标题可能不太直观,想了半天也没想到好的,那么我就先贴一张具体应用场景的效果图:就是这一块:相信大家在做商城类应用时,经常会有相似需求!本项目实现的效果如下图:最开始通过RecyclerView实现,也可以,但是在进行嵌套特别是ScrollView等滑动控件时,就会出现触摸bug,即便你将recyclerview禁止滑动也不行,虽说这个bug不算太影响体验,但是对于追求完美的我,不能忍,就再寻找了另一种实现方式:动态add/removeView+属性动画!原理其实很简单:首先,分析效果图,u原创 2021-01-28 14:41:17 · 4012 阅读 · 3 评论 -
高仿京东2020版首页布局及刷新效果
GitHub:https://github.com/baiyuliang/JdRefresh效果图:看本篇文章之前,建议最好先打开京东app,体验一下原版效果,并试着自己去思考其布局和效果的实现方法,那么再看此文章时,可达到事半功倍的效果!我们先来根据实际效果,分析布局方式:底层有一背景色,跟搜索栏背景色一致;Tab为首页时,有整体(带Tab栏)下拉刷新效果,且向上滑动时,也是整体向上滑动的;搜索栏除了一个伸缩效果外是固定不动的;切换到其它Tab后,不再有整体下拉效果,而是Tab栏以下刷新原创 2020-08-22 17:31:53 · 1755 阅读 · 1 评论 -
阻尼回弹效果的ScrollView嵌套GridView
以前写过一篇带阻尼回弹效果的ScrollView,但是有些小问题,于是又重新整理了一下,这篇文章一是一个带阻尼的Scrollview,再个就是Scrollview嵌套GridView实现,而GridView也继承了上篇所讲的自动适配屏幕大小,我们可以先参考下陌陌的效果:再看本文所实现的效果:demo中加载的图片是使用afinal从网络获取的,目的为了达到效果,也给大原创 2014-10-17 13:44:51 · 4027 阅读 · 2 评论 -
安卓高仿QQ头像截取升级版
观看此篇文章前,请先阅读上篇文章:高仿QQ头像截取;本篇之所以为升级版,是在截取头像界面添加了与qq类似的阴影层(裁剪区域以外的部分),且看效果图: 为了适应大家不同需求,这次打了两个包,及上图中一个方形的头像截取demo和一个圆形的;原理:方形:如图:底层即图片层,在上层的画布中,先将裁剪区四周根据裁剪区大小画上阴影,然后在画上裁剪区的白色边框(空心):如下图原创 2015-03-03 17:47:38 · 5910 阅读 · 31 评论 -
高仿QQ头像截取
花费了半天时间,把 仿QQ头像截取的方法整理了下,并制作了一个demo以供大家参考,基本上实现了qq中我的资料界面上(包括背景透明化,上滑标题栏显示,下拉隐藏等)的大致效果,先上图看效果吧:支持的功能: 1.选择裁剪的图片支持手势放大缩小(包括双击放大缩小); 2.判断图片边缘,即裁剪区域不会超过图片边原创 2015-03-03 08:47:40 · 7370 阅读 · 16 评论 -
Android水印相机
本篇文章实现的水印相机,类似于qq空间中的水印相机功能,因之前看过一个demo上实现了一个简陋的水印相机功能,觉得挺有意思,就在此基础上进行了修改,优化和完善,并增加了部分功能,使之更接近于qq水印相机功能。 支持功能:1.前后置摄像头切换;2.拍照对焦及点击屏幕对焦(前提是手机支持对焦功能);3.相机画面会根据相机支持的分辨率调整,不会出现画面拉伸变形的情况;4.支原创 2015-03-11 17:40:37 · 4953 阅读 · 7 评论 -
安卓自定义View实现钟表
之前实现过html5版的钟表,html5也有一个画板属性Canvas,相对于安卓的Canvas来说html5的功能要强大的多,就拿钟表的实现,html5要方便简单的多,而安卓实现起来则非常复杂,像指针转动,html5可以画一条线,然后可以用这条线旋转一个弧度即可,而安卓必须是已知起点坐标和终点坐标,这就需要精确计算起始坐标了。先看下效果图,因为是图静态的,动态图也懒得做,所以看个大致效果即可,具体原创 2015-05-06 15:33:43 · 2355 阅读 · 0 评论 -
安卓自定义View实现图片上传进度显示(仿QQ)
首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果):再看下图我们实现的效果:实现原理很简单,首先我们上传图片时需要一个进度值progress,这个不管是自己写的上传的方法还是使用第三方开源库,其次,需要自定义一个View并重写onDraw方法,此例中的进度是开启了一个线程,然后模仿进度递增,然后将进度值通过自定义View调用一个自定义方法传进自定义Vie原创 2015-05-12 14:12:02 · 6558 阅读 · 3 评论 -
安卓自定义日期控件(仿QQ,IOS7)续
本篇是在原来的基础上修改了界面效果,使其更加接近ios7,qq等日期选择控件,看图:源码地址:http://download.youkuaiyun.com/detail/baiyuliang2013/8760159原创 2015-06-01 14:38:22 · 5069 阅读 · 8 评论 -
安卓自定义日期控件(仿QQ,IOS7)
还记得上篇:高大上的安卓日期时间选择器,本篇是根据上篇修改而来,先看下qq中日期选择的效果:鉴于目前还没有相似的开源日期控件,因此本人花费了一些时间修改了下之前的日期控件,效果如图:虽说相似度不是百分之百,但相对其它日期控件是不是更加高大上了许多,哈哈~代码就不在往上贴了,如果感觉不错可以下载源码,并修改成更加符合你的效果。源码地址:http://download.cs原创 2015-05-13 09:04:49 · 3127 阅读 · 1 评论 -
沉浸式状态栏(二)
上一篇:沉浸式状态栏(一)话说上一篇沉浸式状态栏的实现方法基本可以适用于绝大部分设备,普通项目用足够了,但是看到QQ的的界面,效果却略显不同:如图,这种沉浸式效果如果按第一篇的方法来做,就达不到这种效果了,我实际实现了下,也确实没达到,用SystemBarTintManager的效果如下:我同样用了一个侧滑菜单(slidemenu)来模仿qq的侧滑菜单,实际效果如上图所示,这是为什么呢?我们只要知道原创 2016-04-23 15:55:14 · 1456 阅读 · 1 评论 -
沉浸式状态栏(一)
我们知道IOS上的应用,状态栏的颜色总能与应用标题栏颜色保持一致,用户体验很不错,那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.4之后,谷歌允许开发者自定义状态栏背景颜色啦,这是个不错的体验!若你手机上安装有最新版的qq,并且你的安卓SDK版本是4.4及以上,你可以看下它的效果:实现此功能有两种方法:1.在xml中设置主题或自定义style;Theme.Holo原创 2015-06-28 22:48:17 · 7287 阅读 · 15 评论 -
listview下拉刷新上拉加载扩展(三)-仿最新版美团外卖
本篇是基于上篇listview下拉刷新上拉加载扩展(二)-仿美团外卖改造而来,主要调整了headview的布局,并加了两个背景动画,看似高大上,其实很简单:as源码地址:原创 2016-03-11 15:16:32 · 2691 阅读 · 1 评论 -
listview下拉刷新上拉加载扩展(二)-仿美团外卖
经过前几篇的listview下拉刷新上拉加载讲解,相信你对其实现机制有了一个深刻的认识了吧,那么这篇文章我们来实现一个高级的listview下拉刷新上拉加载-仿新版美团外卖的袋鼠动画:项目结构: 是不是灰常简单!!headview的xml布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://sch原创 2015-12-10 18:39:37 · 4454 阅读 · 0 评论 -
listview下拉刷新上拉加载扩展(一)
前两篇实现了listview简单的下拉刷新和上拉加载,功能已经达到,单体验效果稍简陋,那么在这篇文章里我们来加一点效果,已达到我们常见的listview下拉刷新时的效果:首先,在headview的xml不距离增加点东西,这个简单:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.and原创 2015-12-10 17:48:55 · 1562 阅读 · 1 评论 -
手把手教你轻松实现listview上拉加载
上篇讲了如何简单快速的的实现listview下拉刷新,那么本篇将讲解如何简单快速的实现上拉加载更多。其实,如果你已经理解了下拉刷新的实现过程,那么实现上拉加载更多将变得轻松起来,原理完全一致,甚至实现代码也几乎相同: 首先,声明上拉状态的一些变量: private static final int LOAD_DONE = 4;//上拉加载完成 private static final原创 2015-12-10 16:54:32 · 1333 阅读 · 0 评论 -
手把手教你轻松实现listview下拉刷新
很多人觉得自定义一个listview下拉刷新上拉加载更多是一件很牛x的事情,不是大神写不出来,我想大多数童鞋都是做项目用到时就立马百度,什么pulltorefresh,xlistview。。。也不看原理,稍微改造下就用到项目中了,只管用,等再写新项目时又重复上面的步骤,那么今天,我来告诉大家,实现listview下拉刷新是多么简单的意见事情!先来看下效果图: 首先,我们来确定下下拉刷新的几个状态,原创 2015-12-10 12:25:08 · 1753 阅读 · 5 评论 -
安卓banner图片轮播
之前写过一篇关于首页图片广告轮播的demo:http://blog.youkuaiyun.com/baiyuliang2013/article/details/45740091,不过图片轮播的指示器(小白点)处操作过于复杂,而且是固定的不太合理,此次对其做了优化,替换为了一个自定义的指示器控件,效果美观,代码简介,原创 2016-04-01 10:59:49 · 2154 阅读 · 1 评论 -
带吸附效果的ViewPager(二)
上篇实现了一个简单的吸附效果,那么这篇我们来实现上篇中所示的360软件详情页(带viewpaper)的效果!先来参观下本篇所实现的效果图:了解了上一篇的实现过程,那么本篇的效果无非是修改一下布局,将原来的列表位置换上viewpager,snapbar换上RadioGroup不久可以了吗?确实如此!只是在初始化viewpager时相对麻烦点,因为数据是要动态添加的,有同学可能问viewpager里的列原创 2016-05-05 14:12:31 · 2024 阅读 · 2 评论 -
带吸附效果的ViewPager(一)
什么叫吸附效果?先看一个示例更为直观,借用网上的一个效果图:类似这种效果的app很多,网上的实现方法也是很多,但各种重写各种监听又令人不胜其烦,今日突发奇想,顺着自己的思路实现了类似的效果,不敢独享,特来分享给大家!做事要一步一步来,不能一口吃胖,知道原理,接下来的事情就好办了!所以第一篇,暂且实现一个简单的效果,如图:实现思路(原理):1.ScrollView外层ScrollView不必说了!2.原创 2016-05-05 13:52:24 · 4512 阅读 · 3 评论 -
安卓实现高斯模糊
关于如何对图片进行模糊处理,网上方法比较多,常用而又便捷的方法就是使用高斯模糊,但网上的方法大多效果并不理想,今天分享一个之前项目中用到的模糊处理方法来实现高斯模糊,好了,先看模糊效果:原图:模糊:注意点:对图片的各种处理大多数是通过bitmap进行操作的,本例也不例外,另外本例是使用imageloader加载的网络图片,以给大家一个模糊网络图片的参考,当然,加载网络图片必然是异步的,所以首次进入界原创 2016-05-06 18:02:14 · 4644 阅读 · 0 评论 -
安卓仿QQ红包领取详情界面动画
为了能清楚的看到这个效果,本人不惜几次花费重金给众群叼发放红包,来查看红包领取详情界面的动画效果,QQ效果如图:图中我们可以看到,动画处的头像和文字是一起的,即同时并且是整体,注意,是整体进行缩放的,而且是随手指移动来变换大小的,如果我们按照普通的布局方法,ImageView+TextView的方式,用安卓自带的普通动画来实现是无法完成的,那好了,只能自定义View来实现了!自定义view需要你对v原创 2016-05-09 16:01:00 · 5771 阅读 · 1 评论