很简单的一个效果。我直接上图了。代码就不详细说了,贴出关键代码就行了。 @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.save(); canvas.drawCircle(width / 2,...
分类:
移动开发 时间:
2015-07-09 21:04:32
阅读次数:
151
简介:在自定义view的时候,其实很简单,只需要知道3步骤:1.测量——onMeasure():决定View的大小2.布局——onLayout():决定View在ViewGroup中的位置3.绘制——onDraw():如何绘制这个View。而第3步的onDraw系统已经封装的很好了,基本不用我们来操...
分类:
移动开发 时间:
2015-07-07 18:52:50
阅读次数:
159
废话休提,先上效果图。 android自定义组件,所需重写的方法往往有:两参数的构造方法(布局加载必须)、ondraw()、ontouchevent()、onfocuschanged()等方法,不少的组件还需自定义attributeset。本组件的实现主要是借助ontouchevent、on...
分类:
其他好文 时间:
2015-07-06 15:39:27
阅读次数:
141
这个demo是鸣人叫我做的效果,大家用的时候根据实际需要再调整参数。
先看效果图:
主要构思:当progress到最大值的时候触发动画效果,效果都由canvas画布上进行。
主要代码:
@Override
protected void onDraw(Canvas canvas) {
int halfWidth = getWidth() / 2;
int halfHei...
分类:
其他好文 时间:
2015-06-17 16:41:01
阅读次数:
139
转载请注明出处:http://blog.csdn.net/ZhouLi_CSDN/article/details/46504881自定义属性使用步骤:
1. 通过为自定义View添加属性2. 在xml中为相应的属性声明属性值3. 在运行时(一般为构造函数)获取属性值4. 将获取到的属性值应用到View
在res/values目录下创建attr.xml文件
<?x...
分类:
其他好文 时间:
2015-06-15 18:54:20
阅读次数:
91
避免在循环中使用内存也可理解为在循环中尽可能少创建对象,自定义控件避免在ondraw里面频繁创建paint对象。尽可能避免内存分配对象缓存:常量通过类级别或者静态来进行缓存。对象池:同一种类型的多种对象,考虑使用对象池而不是分配频繁的分配内存。(不是很理解,还需深入学习)使用ArrayList.an...
分类:
移动开发 时间:
2015-06-14 16:35:50
阅读次数:
167
HelloWorldScene.h例如,下面的代码被添加:protected: void onDraw(const kmMat4 &transform, bool transformUpdated); CustomCommand _customCommand;HelloWorldScen...
分类:
其他好文 时间:
2015-06-11 09:24:14
阅读次数:
126
最近在项目中有使用到搜索框的地方,由于其样式要求与iOS的UISearchBar的风格一致。默认情况下,搜索图标和文字是居中的,在获取焦点的时候,图标和文字左移。但是在Android是并没有这样的控件(可能见识少,并不知道有)。通常情况下我们使用组合控件,使用ReleativeLayout或者FrameLayout来实现。此篇并不是使用上述方法实现,其核心是继承系统EditText,重写onDraw...
分类:
移动开发 时间:
2015-06-07 17:34:31
阅读次数:
188
侧滑面板很其实现在容易找到成熟的第三方框架了,但是我们自己做一下,写一些核心代码,有助于我们的理解
1,简单介绍
写一个类继承ViewGroup
复写以下三个方法
onMeasure -> onLayout -> onDraw
1,测量左面板和主面板
左面板宽是指定的值240, 高度是屏幕高度
主面板宽高就是屏幕的宽高
2,摆放两个子控件
...
分类:
其他好文 时间:
2015-06-05 22:39:11
阅读次数:
180
自定义控件时常常遇到重写View的Ondraw()方法,Ondraw()方法常常设计到save()和restore()这两个方法.这两个相互匹配出现的,作用是用来保存画布的状态和取出保存的状态的。具体作用如下:
1.save():用来保存Canvas的状态,save()方法之后的代码,可以调用Canvas的平移、放缩、旋转、裁剪等操作!...
分类:
移动开发 时间:
2015-06-05 12:23:17
阅读次数:
206