Csming

虽千万人吾往矣

Android自定义View——Canvas操作学习笔记

Canvas的基本操作 位移(translate) translate是坐标系的移动,可以为图形绘制选择一个合适的坐标系 1234567891011// 省略了创建画笔的代码// 在坐标原点绘制一个黑色圆形mPaint.setColor(Color.BLACK);canvas.translate(200,200);canvas.drawCircle(0,0,100,mPaint);// 在坐......

ClassLoader深入学习记录

最近为了学习Java底层,因而学习了ClassLoader;准备下一阶段学习JVM原理 ClassLoader是什么 ClassLoader是Java的类加载机制 ClassLoader用于动态加载class文件到内存中 Java程序写好后,是由若干个class文件组织而成的一个完整的Java应用程序;程序运行时,会调用改程序的一个入口函数来调用系统的相关功能;这些功能被封装在不同的......

Android自定义View——Canvas图形/图片/文字绘制学习笔记

Canvas简介 Canvas成为画布;可以在上面绘制任何图案,是安卓平台2D图形绘制的基础 有两大特点:1.可操作性强;2.比较难用(组合操作) 常用操作 **绘制颜色:**drawColor, drawRGB, drawARGB;使用单一颜色填充整个画布 **绘制基本形状:**drawPoint, drawPoints, drawLine, drawLines, drawRect, d......

Android自定义View——绘制流程学习笔记

自定义View绘制流程函数调用链 自定义View分类 自定义ViewGroup&自定义View 1.自定义ViewGroup 自定义ViewGroup一般是利用现有的组件根据特定的布局方式来组成新的组件,大多继承自ViewGroup或各种Layout,包含有子View。 例如:应用底部导航条中的条目,一般都是上面图标(ImageView),下面文字(TextView),那么这两个......

Android自定义View——动画学习笔记

实质 每一帧绘制不同内容 基本过程 开始动画后,调用View的invalidate触发重绘。重绘后检查动画是否停止,若未停止则继续调用invalidate触发下一帧(下一次重绘),直到动画结束。 重绘时View的draw方法会被调用,根据动画的进行绘制不同的内容,如某个被绘制元素的大小变化、角度旋转、透明度变化等,这样即会产生动画。 动画的推进过程一般都会有一个变化量,这个变量会被用到dra......

Android自定义View——绘图API学习笔记

Matrix Canvas.[translate,scale,rotate,skew]方法 **Matrix.**set/pre/post[translate,scale,rotate,skew]方法 平移、缩放、旋转、斜切 我们通过调用Canvas.translate等方法,可以使后续在此Canvas上绘制操作的绘制区域变化,如translate(5,0),则后续所有绘制操作的绘制区域都会......

Android自定义View——颜色学习笔记

颜色 安卓支持的颜色模式 ARGB8888: 四通道高精度(32位) ARGB4444: 四通道低精度(16位) RGB565: 屏幕默认模式(16位) Alpha8: 仅有透明通道(8位) PS:其中字母表示通道类型,数值表示该类型用多少位二进制来描述。如ARGB8888则表示有四个通道(ARGB),每个对应的通道均用8位来描述。 我们常用的是ARGB8888和ARGB4444......

Android自定义View——角度与弧度学习笔记

目的 为什么需要角度与弧度 自定义View的一些效果,是将一些简单的东西,通过数学的计算组合在一起的; 可能会涉及到画布的相关操作(旋转),以及一些正余弦函数的计算等,这些内容就会用到一些角度、弧度相关的知识。 为什么对角的描述有角度和弧度 为了精确描述一个角的大小 由于两者进制是不同的(角度是60进制,弧度是10进制),在合适的地方使用合适的单位来描述会更加方便。 #角度与弧度的定义 ......

Android自定义View——坐标系学习笔记

屏幕坐标系与数学坐标系 移动设备一般定义屏幕左上角为坐标原点;向右为x轴增大方向,向下为y轴增大方向 View的坐标系 View的坐标系统是相对于父空间而言的 1234getTop(); //获取子View左上角距父View顶部的距离getLeft(); //获取子View左上角距父View左侧的距离getBottom(); //获取子View右下角距父View顶......

Android开发小记(三)

AsyncTask使用的时候遇到了一个小问题 最近的软工实践项目中,在网络请求的时候使用到了AsyncTask异步的方法 队友小超超在使用过程中发现, doInGround()方法中使用的HttpUtil的回调方法一直没办法结束 使得在onPsotExcute()方法有时候回得不到调用,使得UI没有更改 最终无法显示数据 我觉得这个似乎是因为doInGround方法调用的回调函数没办法返回......