1、将图片分成n*n等份2、自定义布局文件,继承RelativeLayout,在onMeasure里面排列每一小片的图片3、实现图片交换的动画,这个动画有意思,创建一个动画专用的RelativeLayout,添加上去,把要交换的两张图复制到面板上,然后用位移动画实现动画效果,动画结束后修改原来两个位...
分类:
移动开发 时间:
2015-08-05 19:59:41
阅读次数:
197
分为三种:继承已有控件:重写onDraw()组合已有控件:继承ViewGroup,通常是某一种Layout自定义新控件:继承View或者SurfaceView,重写onMeasure,OnDraw介绍一下onMeasure里面的一个参数MeasureSpec源码:/** * MeasureSpec封...
分类:
移动开发 时间:
2015-08-05 12:46:57
阅读次数:
157
1、直接继承ViewGroup类,onMeasure测量子控件,onLayout第一个子控件放在边角,其他的子控件根据弧度计算其位置来进行layout。2、动画效果:第一个按钮的旋转动画 RotateAnimation,其他的控件TranslateAnimation和RotateAnimation两...
分类:
移动开发 时间:
2015-08-04 18:35:40
阅读次数:
168
我们的手机屏幕的布局其实是嵌套的,最外层是一个phoneWindow,这个view和手机屏幕一样大,里面是一个frameLayout,再里面才是我们自己写的布局文件。我们在绘制控件前必须要经历measure的过程,这个过程需要从PhoneWindow不断的调用子view的measure方法(meas...
分类:
其他好文 时间:
2015-08-03 18:31:23
阅读次数:
122
onMeasure()函数由ViewGroup调用子类的方法,因此值也是从这个ViewGroup中传入的
1、当我们设置自定义控件width或height为fill_parent时,容器在布局时调用子view的measure方法传入的模式是EXACTLY
2、当设置自定义控件为 wrap_content时,容器传进去的是AT_MOST,表示子view的大小最多是多少
3、当设置自...
分类:
其他好文 时间:
2015-07-30 23:19:25
阅读次数:
265
1、先创建一个控件类间接或者直接继承ViewGroup类2、重载onMeasure方法来测量控件 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)3、重载onLayout方法来布局子空间 protected v...
分类:
移动开发 时间:
2015-07-26 19:01:31
阅读次数:
214
相信很多人在使用自定义Adapter的时候都遇到这样的问题:假设Adapter数据源中只有30个Item,理论上每显示一个新的Item的时候就会调用一次getView,均显示一次的话是要调用getView() 30次的,然而当我们在getView输出Log信息时,前几个会被重复多轮调用,之后每滑动到...
分类:
其他好文 时间:
2015-07-25 11:56:35
阅读次数:
247
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!简单介绍:在自己定义view的时候,事实上非常easy,仅仅须要知道3步骤:1.測量——onMeasure():决定View的大小2.布局——onLayout():决定View在ViewGro...
分类:
移动开发 时间:
2015-07-21 14:40:01
阅读次数:
178
Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点。 绘制过程从布局的根节点开始,从根节点开始测量和绘制整个layout tree。 每一个ViewGroup负...
分类:
移动开发 时间:
2015-07-21 10:17:33
阅读次数:
196
我们知道最基本的就是继承View,下面我们结合一个例子对重写进行简单地分析:
继承一个view,都会有一个或多个构造方法,在不同的时候调用到不同的构建方法,一般会重写三个方法,onMeasure();onLayout();onDraw();分别是测量,定位和画
下面说下,android中重写view时,经常会遇到的混淆:
requestLayout(),invalidate...
分类:
其他好文 时间:
2015-07-19 18:17:00
阅读次数:
169