- 博客(24)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android性能优化学习记录
对于Android的性能优化,一直感觉是一种很高大上的东西,让人有一种去探索的欲望,但又会对其却而止步。刚好最近买了一本关于性能优化的书(Android应用性能优化最佳实践),所以就边看边学边记录这一块的东西。Android性能优化,总体来说就是从UI,内存,存储,系统的稳定性,应用耗电还有app的安装大小等几方面做优化。性能优化这一块,个人感觉就是从每个细节上去“挤牛奶”,挤挤总会有的。学习性能优
2018-01-14 16:33:52
262
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 自定义View系列目录索引
Android自定义View目录索引当谷歌封装的一些原生的控件不能满足我们的需求时,自定义view就变得越来越重要了,尤其是对于一些对界面要求很高的app中,自定义view更是随处可见的!1:入门从一个简化版的TextView开始2:自定义一个圆形运动步数计数效果3:仿今日头条的滚动指示器的效果4:仿各种客户端都具备的评分控件5: 自定义高亮显示的字母序列控件6:使用Adapter设计模式打造一
2017-08-26 22:09:02
536
原创 Android性能优化学习之App启动性能优化
在用户打开app的时候,第一个能够给用户产生好的印象的就是app的启动速度了。随着一个App的业务量越来越复杂,模块越来越多,app的启动速度就会不可避免的受到影响,有的甚至会产生黑屏或者白屏一段时间的现象,让我们细想一下,用户在点开app,app一直处于这种黑白屏的情况,要是我是我用户,很有可能会在心里对这个app有深深的抵触心里。所以,提高一个app的启动速度,是很有必要的一件事情。既
2018-01-14 17:23:20
358
原创 使用一种独特的方式实现动画框架
使用一种独特的方式实现动画框架在App中,为了展现的效果更佳,设计师通常都会加入一些动画的元素在里面,在现在的各类应用中,动画也变得越来越常见,今天,分享的是一种实现动画框架的思路,具体的效果图可以参考下面这个视差动画(只是例子): 从效果图看,要实现该效果,应该是不难的,正常操作都是给每一个View设置动画 如:view.setScaleX()…… 但这样的话,虽然是效果实现了,但
2018-01-14 15:59:36
395
原创 使用SVG打造可交互的自定义地图
最近发现了一个好玩的东西:SVG,秉承着学以致用的原则,做了一个小demo。 先上效果图: 这是一个可以交互的中国地图.像这类复杂的自定义空间,如果要我们自己来画,我估计会让我开始怀疑人生吧!好了 废话不多说,下面我们就用svg的方式来实现这个自定义的地图控件: 步骤: 1:下载中国地图的svg文件 2:然后将svg文件转换成android能用的xml文件:附上链接一个:http://i
2017-11-19 18:47:42
11760
4
原创 Xfermode初探
最近接触到一个新东西,Xfermode,这个东西不知道大家有没有听过,他到底是干啥的呢: 使用Xfermode,可以将我们绘制的图形与Canvas画板上对应点的像素按照一些规则来进行回合,得到最终的像素,然后在更新到canvas上,得到最后需要的东西。(这是我个人大致概括的,作为自己对Xfermode的一个作用理解,希望大家能看明白吧,哈哈哈)其使用方法为:通过Paint来设置Xfermode的模
2017-10-29 14:26:12
653
原创 Android:软键盘弹出配合界面效果脱坑
想必大家都会用到微信吧,不知道大家有没有注意到微信的登录界面,但我们在点击输入框的时候,界面上的部分UI布局会因为软键盘的弹出而向上移动,效果如下:(今天使用小萝贝控机的,所以可能会看着效果有点卡卡的)为什么要说这个呢,对,就是因为需求就是如此,我们的需求是,在键盘弹起的时候,指定的区域最下方必须离软键盘的最上方有多少个像素的间距,其实细细想想,跟微信登录得这个效果差不多的。起初,也是
2017-10-20 15:07:01
800
原创 开发小技巧之在Application中监听App中的Activity的生命周期
在有一些场景下,需要我们在app从后台进程到前台进程的切花过程中,做一些操作,如展示一个公司广告页面等等情况。这个时候,我们可以在我们的Application中来监听当前App的状态,Google已经给我们封装好了方法:public class MyApplication extends Application { @Override public void onCreate() {
2017-10-11 16:52:36
1590
原创 View的touch事件分发过程
有的时候,在自定义view的时候,在处理触摸事件的时候,总会有点问题:onTouch和onTouchEvent到底有什么不一样,还有就是一个View的所有的触摸事件,到底是怎么进行分配的呢? 今天,我们带着疑问,来一探究竟:首先,来看一个现象:view.setOnClickListener(new View.OnClickListener() { @Override
2017-09-17 23:07:15
480
原创 仿某直播平台的点赞效果
现在的直播平台已经是多的不得了了,而给主播点赞的效果,也是各不相同,今天,我们来自定义一个点赞的效果! 先上效果:当点击点赞按钮的时候,就会有不同颜色的心型从底部冒出,并按照不规则的路线运动,在运动过程中,伴随着各种动画!好了,话不多说,直接上代码:/** * Created by DELL on 2017/9/16. * Description : 花束点赞效果 */public clas
2017-09-17 14:10:07
2428
原创 自定义加载动画的效果
大家好,今天分享一个之前在某个app上看到一个加载的效果,效果如下:首先,我们来拆分下这个效果:首先,最上面的是一个带着各种动画的会变形的图形然后接下来的,是一个阴影的效果,距离图形越远,阴影的面积就越大最下面,是一个TextView好,按照我们的拆分步骤,首先来实现下图形变化这个效果:话不多说,直接上代码:/** * Created by DELL on 2017/9/14. * De
2017-09-17 13:31:23
720
原创 实现沉浸式状态栏
Android从4.4的版本开始,就可以自己来定义状态栏的颜色了,下面,我们来看一下实现方式: 1:沉浸式状态栏的实现方式:/** * 设置状态栏的颜色 * 分为两种情况 * 1:当当前SDK版本在5.0及其以上版本中,直接设置状态栏颜色就可以(有对应的方法) * 2:当当前SDK版本在4.4到5.0之间时,则需要向设置当前状态栏为全屏, * 然后
2017-09-17 13:10:35
416
原创 仿二手车之家的竖直拖动栏自定义View
大家好,本篇博客带来的一个效果是仿二手车之家的竖直拖动蓝的一个效果,具体如下:为什么会选择写一个这样的效果呢?是因为这里牵涉到了两个知识点,一个是最近正在学习的事件分发,还有一个是ViewDragHelper这个拖拽的工具类。首先 我们先实现这个一个拖拽的效果: 下面的红色的区域块,可以在竖直方向上拖动,当区域仅限于后面颜色的高度,话不多说,直接上代码:/** * Created by DELL
2017-09-17 12:56:39
397
原创 仿雅虎新闻的加载自定义view
首先,来看一下今天我们需要实现的一个效果:就是这么一个效果(最后从网上照了一张adidas的壁纸,希望不要被打)首先,我们先来分析一下这个动画的实现步骤:首先,第一个进入的是一个6个小圆组成的一个大圆的旋转动画在旋转动画结束了,伴随着的是一个小圆的扩张和聚合动画最后聚合到一个点之后,开启水波纹动画,过渡到呈现加载的内容首先,我们先来实现第一个效果(小圆的旋转效果): 今天给出的实现方法是:
2017-09-17 12:39:19
408
原创 仿酷狗音乐的侧滑菜单效果
话不多说,直接正题! 首先,来看看今天我们要实现的效果: 就是这么一个效果!首先,分析一波:有两个布局,一个是菜单栏布局,一个是内容布局看效果,当菜单栏慢慢打开时,内容布局有一个缩放的效果,菜单栏布局也有一个缩放的效果,打开的角度越大,放大的值越大,其次,还有一个透明度的渐变效果,最后就是一个抽屉效果(可以看菜单栏布局的右下角的推出按钮,很明显);再来看看实现该效果的方式:最容易想到的,
2017-09-10 23:03:11
1302
7
原创 使用Adapter设计模式打造一个流式布局FlowLayout
流式布局可以说是在各种软件中的出场率都很高的一个布局方式,被广泛使用,像一些关键字搜索,标签等等的场景,更是随处可见,今天我们就来手把手打造一个FlowLayout。 FlowLayout由于是以一个容器的身份存在的,所以其需要继承的是ViewGroup而不是View,也就是说,我们今天所要做的,就是去自定义一个ViewGroup。 自定义ViewGroup和自定义View的套路基本都是一致的,
2017-09-10 11:02:50
906
原创 自定义高亮显示的字母序列控件
最近看到有代码在实现类似通讯录字母索引的功能的时候,使用了ListView来做处理,个人觉得用ListView甚至现在很流行的RecycleView来做并不好,可以来自定义一个索引的控件,达到更好的效果,话不多说,先上效果图: 首先:先来说说需求把字母[A - Z - #]在控件中画出来(这里以字母来举例)当触摸到某个字母时,高亮显示给控件设置监听,显示当前触摸到的字母下面,就开始撸码(其
2017-09-02 22:52:01
503
原创 仿各种客户端都具备的评分控件
虽然android已经有一个评分控件了,貌似应该就叫做RantingBar吧,具体也记不太清楚了,下面我们来自定义一个评分控件!先来上个效果图吧!下面,我们来看一下自定义这个评分控件的步骤吧1:看需求:首先,从上图可知,需要自定义的属性有五角星的个数,为评分时的五角星图片,评分后的五角星个数,五角星和五角星之间的距离。 2:自定义属性:<declare-styleable name="Custom
2017-09-02 19:20:43
430
原创 仿今日头条的滚动指示器的效果
最近在看今日头条的时候,发现他们的引导的viewpager的指示器跟其他软件有点不同,字体颜色是渐变过去的,所以来模仿了下,效果图如下:首先,分析上面的动态图,其中两个不同的textview,一个颜色是从左往右变化的,另一个是从右往左变化的。下面 我们先来分别实现下从左往右变化的TextView和颜色从右往左变化的TextView。
2017-09-02 00:24:56
1583
转载 android画布中canvas.save()和canvas.restore() 作用
这里canvas.save();和canvas.restore();是两个相互匹配出现的,作用是用来保存画布的状态和取出保存的状态的。这里稍微解释一下, 当我们对画布进行旋转,缩放,平移等操作的时候其实我们是想对特定的元素进行操作,比如图片,一个矩形等,但是当你用canvas的方法来进行这些操作的时候,其实是对整个画布进行了操作,那么之后在画布上的元素都会受到影响,所以我们在操作之前调用can
2017-08-31 17:56:43
927
原创 自定义一个圆形运动步数de计步效果
今天来分享一个自定义圆形计步器的效果,通过这个demo,一起来熟悉下Paint画笔的使用,先上一波效果图: 首先,按照原先的自定义View的套路:分析自定义View的效果的需求在attrs.xml中自定义View的属性在布局文件中引用自定义属性在自定义View的类中获取自定义View的属性并设置相应的属性在onMeasure()方法中去测量自定义View在onDraw()方法中
2017-08-30 19:32:34
807
原创 自定义View之定义一个简化版的TextView
1:自定义View基本知识(这里以一个简化版的TextView为例:名称为CustomTextView)1.1 自定义属性 在android的布局文件中,我们会使用一些属性值来使得当前的这个控件达到自己想要的效果,最基本的,例如:android:layout_width , android:layout_width等等,这些便是控件本身的属性。下面,我们来说说如何去自定义一个控件的属性。
2017-08-26 23:09:39
420
原创 Android 6.0动态权限申请
Android 6.0运行时权限动态申请处理最近需要在项目中对android 6.0以上的手机做权限处理,所以抽了个时间,将大于或等于6.0以上的权限处理做一个总结!android 在6.0以后,将权限分为两类,分别为Normal Pemission和Dangerous Permission,Normal Permission不需要用户在操作的时候进行授权,例如最常用的访问网络的权限;Dangero
2017-07-29 20:39:41
415
仿雅虎新闻加载动画
2017-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人