需求
在SurfaceView或者普通View中,我们在每个绘制周期(onDraw)中,不仅需要更新绘制Bitmap对象在View中得位置,而且还希望Bitmap能够以它自身的中心点为圆心,进行自旋转。
解决
使用Canvas的drawBitmap(Bitmap bitmap,Matrix matrix,Paint paint)方法,最重要的就是定制Matrix。
代码如下: /**...
分类:
移动开发 时间:
2015-03-05 13:02:42
阅读次数:
214
setStrokeWidth方法:设置空心线宽
【功能说明】该方法用于设置画笔的空心线宽。该方法在矩形、圆形等图形上有明显的效果。
【基本语法】public void setStrokeWidth (float width)
其中,参数width为线宽,浮点型数据。
【实例演示】下面通过代码来演示如何设置宽线宽的空心画笔。
protected void onDraw(...
分类:
其他好文 时间:
2015-03-05 10:54:34
阅读次数:
397
在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法。
onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。
在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢?
? save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩...
分类:
其他好文 时间:
2015-03-04 21:04:54
阅读次数:
119
View中:
public void draw(Canvas canvas) {
/*
1. Draw the background 绘制背景
2. If necessary, save the canvas' layers to prepare for fading 如有必要,颜色渐变淡之前保存画布层(即锁定原有的画布内容)
3. Draw vie...
分类:
移动开发 时间:
2015-02-28 18:47:04
阅读次数:
183
那么,如何制作这样一个效果呢,关键点在哪里呢?
做法其实可以有多种,
1)可以直接继承ImageView,然后在ImageView的OnDraw函数中直接绘制圆形或者方形的高亮圈;
2)也可以直接继承View,自己将Bitmap给传进来,在onDraw函数中先绘制图片,接着利用Path来绘制这个圆形或者方形的选择区域,利用Region.OP.DIFFERENCE来反向获取蒙板层。
不过利用clipPath来实现这个蒙板层的绘制,画出来的圆形会有锯齿,这个目前我还没有找到比较好的办法去掉这个锯齿,不知道有没有...
分类:
其他好文 时间:
2015-02-28 18:37:55
阅读次数:
148
android游戏开发中,使用android.graphics中的类来绘制2D向量图和文字。
一 画布Canvas
在Android中的绘图应该继承View组件,并重写它的onDraw(Canvas canvas)方法。
Canvas代表指定View上的画布,常用方法如图:
二 画刷Paint
Paint代表Canvas上的画刷,主要用于绘制风格,包括画刷颜色、画刷笔触粗...
分类:
移动开发 时间:
2015-02-27 17:01:20
阅读次数:
135
重写view: View类一般用于绘图操作,重写它的onDraw方法,但它不可以包含其他组件,没有addView(View view)方法。重写viewgroup: ViewGroup是一个组件容器,它可以包含任何组件,但必须重写onLayout(boolean changed,int l,int....
分类:
移动开发 时间:
2015-02-25 16:50:45
阅读次数:
159
RippleEffect原理解析
闲来无事,看了看RippleEffect的具体实现过程,先将心得写下,与诸位共享…
RippleEffect的效果就是点击View,然后View上一个圆圈慢慢的变大,然后消失…
原理:重写View的onDraw(Canvas canvas)方法,然后使用canvas.drawCircle(x, y, currentRadius, paint),通...
分类:
其他好文 时间:
2015-02-24 00:48:32
阅读次数:
209
要实现这种效果当然有多 种方式,比如背景图片直接加阴影效果,或者用代码画一个(onDraw())。这次我们直接用layer-list来实现。在项目 res->drawable中创建一个xml,如果列表中有layer-list选择的话直接选择创建,如果没有的话就随意(似乎4.0以下没有 layer-l...
分类:
移动开发 时间:
2015-02-09 21:29:42
阅读次数:
155