2014年09月 存档

Android图形 —— 从哪里开始?

2014年09月15日,星期一

你一定遇到过Android现有的UI控件无法满足项目需求的情况,一般来说你可能需要将多个UI组合起来,或者说需要自己控制一些触摸事件,又或者为了得到更好的图形效果等等。这个时候就需要自定义控件了。

自定义控件的一个重点就是实现就是去重写他的绘制过程,也就是View.onDraw(Canvas canvas)方法。这个里面就是绘制图形的过程了,比如说一个Button,绘制按钮和按钮上的文字都是在它自己的onDraw方法中完成的。如果你想给ImageView加个蒙版,可以继承ImageView并且重写他的onDraw方法,调用完父类的onDraw之后,再自己Canvas来画一个黑色的半透明矩形,这样就可以对现有的控件进行加工了。

Canvas是什么呢?是画布,你绘制东西的时候就是绘到了这个画布上,给用户显示的东西也是这个画布上的东西。通常来说,当你调用到onDraw方法的时候对应的View已经确定了他的宽度和高度(关于View的measure和layout过程以后再详述)。那么在Canvas上,你画的范围就只有View对应的大小了。我们用代码来描述下:
(更多…)

Android图形必知必会

2014年09月1日,星期一

最近接触了Android图形方面的知识,发现其中还是有很多比较深入的东西的。

我决定写一系列的文章来讲解android.graphics.*包种的各种类的用法,如果用这些东西来给我们的应用UI增添一些色彩。如果你熟练运用这些东西,不仅可以可以实现惊艳的效果,还可以增加界面的流畅度,减少内存使用等等。

android.graphics.* 包里面主要由以下一些类:

  • Canvas
  • Bitmap及其相关的类
  • Xfermode及其子类
  • Paint及其相关类和内部类
  • Shader及其子类
  • Rect,Color,Point,Path等基础类
  • 等等等

好了,坑先挖在这里。。后续文章点页面上方的“ANDROID”