Android群英传之Android绘图机制与处理技巧
2016-07-23 02:19
323 查看
1、屏幕尺寸信息
1)屏幕参数
屏幕大小:对角线长度,单位,寸分辨率:手机屏幕像素点个数,720x1280
dpi:每英寸像素
2)系统屏幕密度
密度 | ldpi | mdpi | hdpi | xhdpi | xxhdpi |
---|---|---|---|---|---|
密度值 | 120 | 160 | 240 | 320 | 480 |
分辨率 | 240x320 | 320x480 | 480x480 | 720x1280 | 1080x1920 |
3)独立像素密度
在mdpi下:1dp=1px各个分辨率换算比例ldpi : mdpi :hdpi:xhdpi:xxhdpi为3:4:6:8:12
4)单位转换工具类
/** * 常用单位转换的辅助类 */ public class DisplayUtil { /** * dp转px */ public static int dp2px(Context context, float dpVal) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpVal, context.getResources().getDisplayMetrics()); } /** * sp转px */ public static int sp2px(Context context, float spVal) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spVal, context.getResources().getDisplayMetrics()); } /** * px转dp */ public static float px2dp(Context context, float pxVal) { final float scale = context.getResources().getDisplayMetrics().density; return (pxVal / scale); } /** * px转sp */ public static float px2sp(Context context, float pxVal) { return (pxVal / context.getResources().getDisplayMetrics().scaledDensity); } }
2、2D绘图基础
(1)Canvas对象drawPoint,drawLine,drawRect,drawRoundRect,drawCircle,drawArc,drawOval,drawText,drawPosText(在指定位置绘制文本),drawPath(绘制路径)
(2)Paint对象
setAntiAlias:设置画笔的锯齿效果
setColor:设置画笔的颜色
setARGB:设置画笔的A、R、G、B值
setAlpha:设置画笔的透明度值
setTextSize:设置字体大小
setStyle:设置画笔的效果(空心STROKE或者实心FILL)
setStrokeWidth:设置空心边框的宽度
3、Android XML绘图
这里不做详细记录,官网的Drawable Resources有详细且齐全介绍4、Android绘图技巧
1)Canvas 画布
四个主要方法:save:保存画布,将之前绘制的内容保存起来;
restore:合并画布,将save方法之后绘制的内容与之前绘制的内容合并起来;
translate:移动画布,其实是画布所在的坐标系的移动;
rotate:旋转画布,其实是画布所在的坐标系的旋转。
2)Layer 图层
在Android中图层是基于栈的结构来管理的,通过调用saveLayer、saveLayerAlpha方法来创建图层,使用restore、restoreToCount方法将一个图层入栈。入栈的时候,后面所有的操作都发生在这个图层上,而出栈的时候则会把图像绘制在上层Canvas上。5、Android图像处理之色彩特效处理
色彩特效处理、图形特效处理、画笔特效处理内容很多很庞杂,但是很有意思,以后学习,相机的各种特效看完这节都能自己实现了
6、SurfaceView
之前有过记录Android SurfaceView简介相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories