摘要: Handler是Android中的消息机制实现,可以实现UI线程和子线程的消息传递,这里就来深入了解Android的消息机制,来分析Handler的源代码入手实例在Android开发中,子线程与主线程通信是再寻常不过的事情了,那么为何需要子线程和主线程通信呢... 阅读全文
posted @ 2019-04-06 23:56 cj5785 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 算法是思想的体现形式,常见的算法做一些总结算法简介算法—Algorithm解题方案的准确而完整的描述,是一系列解决问题的清晰指令特征有穷性,确切性,输入项,输出项,可行性算法运算要素算术运算:加减乘除等运算逻辑运算:或、且、非等运算关系运算:大于、小于、等于... 阅读全文
posted @ 2019-04-06 23:49 cj5785 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 数据结构在Android中也有着大量的运用,这里采用数据结构与源代码分析相结合,来认识Android的数据结构线性表线性表可分为顺序存储结构和链式存储结构顺序存储结构-ArrayList通过对源代码的产看得知,ArrayList继承自AbstractList... 阅读全文
posted @ 2019-04-06 23:47 cj5785 阅读(226) 评论(0) 推荐(0) 编辑
摘要: UI的绘制流程和事件分发,属于Android里面的重点内容,在做自定义UI的时候,更是应该了解UI的绘制流程是如何的,此篇文章就是说明UI的绘制流程,事件分发前面已经详细讲过了UI绘制流程探索这里分析Activity,而不是AppCompatActivity... 阅读全文
posted @ 2019-04-06 23:36 cj5785 阅读(342) 评论(0) 推荐(0) 编辑
摘要: Path是一个工具类,用来记录线条的轨迹路径,然后通过绘制轨迹路径,可以得到各种各样的图案,而PathMeasure是用来对Path进行测量的工具,再Path的运用中,运用最多的就是贝塞尔曲线,也是本文的重点贝塞尔曲线贝塞尔曲线就是这样的一条曲线,它是依据四... 阅读全文
posted @ 2019-04-06 23:33 cj5785 阅读(449) 评论(0) 推荐(0) 编辑
摘要: Canvas可以用来绘制直线、点、几何图形、曲线、Bitmap、圆弧等等,做出很多很棒的效果,例如QQ的消息气泡就是使用Canvas画的Canvas中常用的方法初始化参数Paint paint = new Paint();paint.setColor(Col... 阅读全文
posted @ 2019-04-06 23:29 cj5785 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 滤镜在图片处理里面有很多的运用,尤其是相机使用了大量的滤镜,通过对颜色通道的调和,可以呈现出各种各样的效果对图像进行一定的过滤加工处理,使用Paint设置滤镜效果很多高级UI使用时候需要关闭硬件加速,不关闭的话,有些API无法支持Alpha滤镜处理MaskF... 阅读全文
posted @ 2019-04-06 23:24 cj5785 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 在使用了Panit画笔之后,可以对其进行渲染,从而达到更加人性化的方式渲染分类按常用渲染方式可以分为以下几种:BimapShader位图的图像渲染器LinearGradient线性渲染RadialGradient环形渲染:水波纹效果,充电水波纹扩散效果、调色... 阅读全文
posted @ 2019-04-06 23:21 cj5785 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 在UI这一块,谈到自定义,就离不开画笔和画布的使用话题,在自定义控件的时候,为了做出炫酷的效果,我们往往会使用画笔和画布,那么这里我们就先来看看画笔的使用吧简单使用例子自定义一个Viewpublic class PaintView extends View ... 阅读全文
posted @ 2019-04-06 23:19 cj5785 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 自定义控件在Android开发中有着大量的运用,为了做出符合项目的效果很多时候需要自定义控件,这里就使用两个自定义控件,来说明自定义控件的使用流程仿QQ侧滑之前使用DrawerLayout和NavigationView都实现了侧滑的效果,在这里使用自定义的V... 阅读全文
posted @ 2019-04-06 23:16 cj5785 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 事件传递在Android中有着举足轻重的作用,那么事件的传递在Android中又是怎么样实现的呢,在这里我们将进一步探讨Android的事件传递机制从一个例子入手首先是一个简单的onTouch和onClick事件的例子public class TouchAn... 阅读全文
posted @ 2019-04-06 23:15 cj5785 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 有的时候会需要做一些自定义的动画效果,在会反复用到的动画效果可以考虑做成动画框架,方便使用,做成框架的话就需要考虑很多的问题,最典型的问题就是属性和方法必须要是可配置的,这里就来聊一聊自定义动画框架的做法重难点分析在自定义动画框架里面,最难的一个问题就是怎么... 阅读全文
posted @ 2019-04-06 23:12 cj5785 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 栅格图可以实现图片的清晰显示,但这也意味着如果要在各种设备上使用栅格图,那么在使用的时候就会产生为了适配各种尺寸的设备而增加大量不同规格的栅格图,这也直接导致了资源文件体积的增大,矢量图就不存在这个问题,这里就介绍一种矢量图–SVGSVG的简介SVG可缩放矢... 阅读全文
posted @ 2019-04-06 23:10 cj5785 阅读(449) 评论(0) 推荐(0) 编辑
摘要: MD动画是谷歌推出的一种动画效果,其实现的效果能让用户看着很是舒服,符合MD动画的动画,有很强的用户交互体验Touch Feedback(触摸反馈)在触摸反馈这一块,用的最多的就是水波纹效果,而水波纹效果是从5.0才开始出现的,从5.0开始,便已自带水波纹效... 阅读全文
posted @ 2019-04-06 23:06 cj5785 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 在3.0以前,动画效果主要为补间动画(TweenAnimation)和帧动画(FrameAnimation),从3.0开始加入了属性动画,其本质就是不断地改变控件的属性,从而达到复杂的动画效果,其效果也优于之前的动画效果,而且真正的实现了View动画补间动画... 阅读全文
posted @ 2019-04-06 23:00 cj5785 阅读(182) 评论(0) 推荐(0) 编辑
摘要: Behavior本身是一个抽象类,可以用于两个view之间的状态监听,也可用于某个view监听CoordinateLayout里面的所有控件滑动状态,实现自定义Behavior则可以实现任意两个view之间的状态变化简单使用这里我们自定义一个Behavior... 阅读全文
posted @ 2019-04-06 22:53 cj5785 阅读(831) 评论(0) 推荐(1) 编辑
摘要: FloatingActionButton为悬浮按钮,就是常见的那种悬浮在控件上,可以调出其他菜单的按钮FloatingActionButton的特有属性app:backgroundTint 按钮的背景颜色app:backgroundTintMode 按钮背景... 阅读全文
posted @ 2019-04-06 22:52 cj5785 阅读(1743) 评论(0) 推荐(1) 编辑
摘要: CardView是在Android 5.0推出的新控件,为了兼容之前的版本,将其放在了v7包里面,在现在扁平化设计潮流的驱使下,越来越多的软件使用到了CardView这一控件,那么这篇文章就来看看CardView怎么使用吧CardView的特有属性cardB... 阅读全文
posted @ 2019-04-06 22:50 cj5785 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 关于沉浸式设计,在国内指的是Toolbar和系统状态栏相统一,而谷歌官方给出的沉浸式则是指整个界面为UI所用,而这里所说的沉浸式则是指的前者,涉及4.4和5.0及以上,4.4以下的Android做不出沉浸式设计头部沉浸式在5.0及以上可以很简单的实现沉浸式,... 阅读全文
posted @ 2019-04-06 22:48 cj5785 阅读(379) 评论(0) 推荐(0) 编辑
摘要: TableLayout选项卡,用于需要使用选项卡的场景,一般是用于切换Fragment,现在的主流做法一般是TableLayout+ViewPager+Fragment,综合实现选项卡的操作由于TableLayout位于support-design里面,故在... 阅读全文
posted @ 2019-04-06 22:47 cj5785 阅读(229) 评论(0) 推荐(0) 编辑