1. Activity 生命周期 onCreate : 该方法是在Activity被创建时回调,它是生命周期第一个调用的方法,我们在创建Activity时一般都需要重写该方法,然后在该方法中做一些初始化的操作,如通过setContentView设置界面布局的资源,初始化所需要的组件信息等。 onSt ...
分类:
其他好文 时间:
2018-04-30 12:00:57
阅读次数:
210
1、android的界面使用组合模式实现。 2、View绘制主要包括三个步骤: 3、测量: 1)测量的最终目的是依据View的相关属性、View与父容器的关系、父容器的相关属性,计算View的高度和宽度。 2)我们可以重写onMeasure方法来编码自己的View测量代码——计算出View的高度和宽 ...
分类:
移动开发 时间:
2018-04-06 14:00:15
阅读次数:
184
View宽高测量方法: 测量方法有三种,如下: 1)(直接在onCreate()执行) 2)2和3都是在onCreate()调用完后回调拿到组件的宽高 3) 注意:方法一比其他方法多一次onMeasure计算,方法二的回调函数会被多次调用。 转自http://blog.csdn.net/johnny ...
分类:
其他好文 时间:
2018-02-18 13:09:53
阅读次数:
186
之前有写过一个图表lib,但是开发的速度,大多很难跟上产品需求变化的脚步,所以修改了下原先的图表库,支持图表下面能整合table显示对应的类目,用曲线替换了折线,支持多曲线的显示,增加了显示的动画,,增加了一些可定制的属性,支持水平柱状图和叠加柱状图,以及多曲线图和饼状图的显示 1.效果图 2.各种 ...
分类:
移动开发 时间:
2018-01-30 12:44:06
阅读次数:
212
自定义 View 中 wrap_content 无效的解决方案 做过自定义 View 的童鞋都会发现,直接继承 View 的自定义控件需要重写 onMeasure() 方法,并设置 wrap_content 时的自身大小,否在在布局文件中对自定义控件在设置大小时,wrap_content 将等同于 ...
分类:
移动开发 时间:
2017-12-28 00:08:36
阅读次数:
264
(自定义ViewGroup) 自定义布局主要是重写两个方法: onMeasure() 这个是写自定义容器的大小。 onLayout() 这个是写子元素的布局。 我自己写了一个自定义布局,是顺序填充会延对角线进行排列。 3.1onMeasure() 首先要说一下布局计算模式,即最后的EXACTLY。一 ...
分类:
其他好文 时间:
2017-11-30 20:14:29
阅读次数:
217
1.@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int measureSp ...
分类:
其他好文 时间:
2017-11-04 16:35:14
阅读次数:
134
系统自定义的seekbar为横向拖动的样式,需要纵向的时则需要自己定义,网上很多说了重写系统SeekBar中onDraw()的方法,但是我使用的时候不知道为什么拖动条和点偏离了,不在一条直线上,好气。。。 然后用了另一篇中改进之后的自定义bar,效果才正常,下面贴出代码 代码取自:http://ww ...
分类:
其他好文 时间:
2017-11-02 16:02:58
阅读次数:
219
在自定义控件时为了满足特定需求,widget大都是我们自己测量的。大家都知道测量时最重要的步骤就是重写onMeasure方法,来计算出宽高。 这里面的MeasureSpec 很重要,大家也都知道,它是一个java中的静态类,它有重要的三个静态常量和三个最重要的静态方法。 我这里说下MeasureSp ...
分类:
其他好文 时间:
2017-09-28 16:44:30
阅读次数:
190
通过本篇博客你将学到以下知识点: ①自定义控件onMeasure的过程 ②彻底理解MeasureSpec ③了解View的绘制流程 ④对测量过程中需要的谷歌工程师给我们准备好的其它的一些方法的源码深入理解。 为了响应文章的开头,我们从一个“Hello World!”的小例子说起,这个例子我们自定义一 ...
分类:
移动开发 时间:
2017-09-27 17:34:39
阅读次数:
281