03 2017 档案

摘要:1,我们上一篇介绍了贝塞尔曲线推到原理和在Android里的简单使用,今天就和来写写贝塞尔曲线的实际应用,今天实现的效果图如下: 2,思路分析 我们知道首先我们的view是一个圆,这里的圆其实是由四块三阶贝塞尔曲线组成的,左上、右上、左下、右下这四块贝塞尔曲线组成,那么让我们来开始吧 准备阶段 创建 阅读全文
posted @ 2017-03-31 17:31 阿呆哥哥 阅读(3650) 评论(1) 推荐(2) 编辑
摘要:1,最近看了几个不错的自定义view,发现里面都会涉及到贝塞尔曲线知识,深刻的了解到贝塞尔曲线是进阶自定义view的一座大山,so,今天先和大家来了解了解。 2,贝塞尔曲线作用十分广泛,简单举几个的栗子: 这么多好看的效果,难道不想自己也写一个吗。。。。 理解贝塞尔曲线的原理 贝塞尔曲线是用一系列点 阅读全文
posted @ 2017-03-30 17:07 阿呆哥哥 阅读(28264) 评论(4) 推荐(5) 编辑
摘要:1,Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 Java 反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类。 在运行时构造任意一个类的对象。 在运行时判断任意一个类所具有的成员变量和方法。 在运行时调用任意一个对象的方法。 在JDK中,主要由以下类 阅读全文
posted @ 2017-03-29 17:19 阿呆哥哥 阅读(859) 评论(0) 推荐(0) 编辑
摘要:1,去年开春去美团和58同城面试的时候第一个问题基本上都是来说说 Java GC机制,当时年轻的我也很耿直,直接说不会,现在想想还是当时年轻啊。刚好这段时间被各大论坛的面试题刷屏,见到最多的也是也是这个问题,所以想来总结一下。 2,GC简单的了解 GC :Garbage Collections 字面 阅读全文
posted @ 2017-03-28 16:29 阿呆哥哥 阅读(51929) 评论(7) 推荐(6) 编辑
摘要:1,在开发的时候,常在我们的需求中会有这种效果,添加一个商品的一些热门标签,效果图如下: 2,从上面效果可以看得出来,这是一个自定义的ViewGroup,然后实现换行效果,让我们一起来实现一下 自定义属性 从上面的效果来看,我们需要动态的设置每个lable的宽度和高度,所以我们编写如下的自定义属性 阅读全文
posted @ 2017-03-27 14:22 阿呆哥哥 阅读(1760) 评论(0) 推荐(0) 编辑
摘要:1,前两天我们分析了Github开源的StepView 《自定义StepView实现个人信息验证进度条》,这两天想着想自己写一个,so,就有了这一篇文章,不废话,先看看实现的效果: 2,首先我们来看看我们常规的自定义view的基础步骤吧 初步分析 首先根据我们的上面效果,可以看到,主要是由直线、圆环 阅读全文
posted @ 2017-03-24 17:27 阿呆哥哥 阅读(3479) 评论(0) 推荐(0) 编辑
摘要:1,我们前三篇博客了解了一下自定义View的基本方法和流程 从源码的角度一步步打造自己的TextView 深入了解自定义属性 onMeasure()源码分析 之前,我们只是学习过自定义View,其实自定义ViewGroup和自定义View的步骤差不了多少,他们的的区别主要来自各自的作用不同,View 阅读全文
posted @ 2017-03-23 14:42 阿呆哥哥 阅读(627) 评论(0) 推荐(0) 编辑
摘要:1,最近在面试题目的时候突然看到了问题“ListView对其指定的子Item进行单独的刷新”,当时感觉一脸懵逼,还是第一次听到这个问题,也就是不能使用adapter.notifyDataSetChanged(),一点思路都没有,下班吃饭之后,突然觉得还是敲代码来试试吧,说不定思路就出来了。 2,首先 阅读全文
posted @ 2017-03-22 16:48 阿呆哥哥 阅读(3847) 评论(0) 推荐(1) 编辑
摘要:1,作为自定义控件最重要的三个方法之一,onMeasure()可以说是我们研究的重点,今天我们更详细的来研究一下View的onMeasure()方法和ViewGroup的onMeasure()方法 2,onMeasure()什么时候调用 我们先来自定义一个控件TestView,然后重写对应的构造函数 阅读全文
posted @ 2017-03-22 15:09 阿呆哥哥 阅读(2105) 评论(1) 推荐(0) 编辑
摘要:1,相信我们写过自定义控件的同学都会有一个疑问,自定义属性到底是怎么工作的,为什么要使用自定义属性呢,接下来结带着大家一起来学习学习,在学习这一篇的时候,可以下看看我的上一篇《从源码的角度一步步打造自己的TextView》,会对这篇有更好的理解 2,为什么要使用自定义属性 我们要使用自定义属性的话首 阅读全文
posted @ 2017-03-21 15:42 阿呆哥哥 阅读(8305) 评论(0) 推荐(0) 编辑
摘要:1,自定义控件一直是我们的痛点,今天就和大家一点点去了解了解,首先一般的自定义控件都是继承于View类,所以我们先来看看view的一些重要的方法,这是官方文档,大家想了解更多也可以去看看,这里我展示对我们常用到的,如下所示: 根据上面的方法,发现我们想绘制自己的view的话最简单的就是重写一下OnD 阅读全文
posted @ 2017-03-21 11:50 阿呆哥哥 阅读(5342) 评论(0) 推荐(1) 编辑
摘要:1,项目中要用到个人信息验证的在网上找了一下,好像有封装好了的StepView,首先感谢一下作者,这是作者的地址,效果图如下: 2,正准备撸起袖子就是一顿复制粘贴的时候,发现效果图成这个样子了(其实这里我们可以改变作者提供的方法改变文字的大小来解决这个问题,但是ui就是这个大的文字设计,我们猿拉不下 阅读全文
posted @ 2017-03-17 16:12 阿呆哥哥 阅读(4946) 评论(0) 推荐(2) 编辑
摘要:1,觉得小红书的欢迎界面感觉很漂亮,就像来学习学习一下来实现类似于这种效果 原效果图如下: 2,根据效果我们来一点点分析 第一步:首先看一下我们的主界面布局文件视图效果如下: main_activity.xml文件代码如下: 可以看到我们主界面的布局文件主要是两个控件,一个是包含上面小人行走效果的I 阅读全文
posted @ 2017-03-15 18:26 阿呆哥哥 阅读(4731) 评论(0) 推荐(3) 编辑
摘要:1,刚刚在别人开源的项目中看到了一个挺不错的用户体验,效果图如下: 2,那下面我们就来实现一下,首先看一下布局,由于一般只是我们包含头像的那部分方法,所以这里我们要把布局分成两部分,对应的布局文件效果图如下: 3,自定义ScrollView 第一步:创建一个类,继承自ScrollView,重写相应的 阅读全文
posted @ 2017-03-14 18:04 阿呆哥哥 阅读(8642) 评论(3) 推荐(1) 编辑
摘要:1,在实际项目中我们常常有对一个列表进行滑删除操作,使用我们昨天的ItemTouchHelper其实也可以实现简单的实现这个功能,先来看一下使用ItemTouchHelper来实现的效果: 2,从上面的效果图我们可以看到,大致的实现了我们的需求,具体操作如下 第一步 :添加表示为START和END标 阅读全文
posted @ 2017-03-14 14:11 阿呆哥哥 阅读(13739) 评论(0) 推荐(1) 编辑
摘要:1,今天和大家一起实现RecyclerView可拖拽Item,主要是使用RecyclerView结合ItemTouchHelper来实现的,来看一下效果 2,看一下怎么实现的呢,很简单,只需要给recyclerView添加一个ItemTouchHelper对象就行 构造方法中需要一个CallBack 阅读全文
posted @ 2017-03-13 16:08 阿呆哥哥 阅读(29006) 评论(1) 推荐(1) 编辑
摘要:1,这一篇博客是和大家一起来封装我们最后的Dagger2,其实之前也写过关于简单的Dagger2,这里是地址,完全没了解的同学可以先去看一下这篇,感谢很多小伙伴一直在耐心的等待这一篇 2,Dagger2可以说是些技术中最难上手的,不过把主要的四个注解理解到位了,基本上就可以用了: @Inject I 阅读全文
posted @ 2017-03-09 17:56 阿呆哥哥 阅读(1977) 评论(0) 推荐(1) 编辑
摘要:1,首先看一下我们今天实现的效果,效果图如下: 2,首先说一下大体的实现思路,首先这个视图一共分为三层,最外层是一个RecyclerView,第二层是一个被虚化的ImageView,第三层是一个正常的ImageView。当用户滑动RecyclerView,监听滑动的高度而动态的改变第二层ImageV 阅读全文
posted @ 2017-03-06 16:47 阿呆哥哥 阅读(1685) 评论(0) 推荐(0) 编辑
摘要:1,先来看一下今天实现的效果: 2,这次的效果是使用ItemDecoration来实践的,来看一看我们的实现吧 第一步:首先添加依赖,由于我们这些数据是请求网络的,所以一下我们添加网络框架依赖、RecyclerView、Glide依赖 第二步:主界面的xml文件就只是一个简单的RecyclerVie 阅读全文
posted @ 2017-03-03 19:06 阿呆哥哥 阅读(7808) 评论(0) 推荐(0) 编辑

< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示