一个线程只有一个Looper 一个Looper只有一个MessageQueue在创建Handler的时候必须先调用Looper.prepare(...
效果如下: 实现思路: 用canvas.drawPath(path,paint)先绘制一个六边形的形状。 然后在结合BitmapShader方法...
方式一:使用Jitpack 首先我们需要将自己的工程传到GitHub上面。image.png 然后我们需要在root build.gradle添...
这是一篇很底层的View的创建分析,从Activity的创建一路讲到View的创建。从底层告诉你 为什么不能在子线程里面更新UI。 我们知道在o...
第一步: 将如图路径改成你自定义的。这时候你会发现以后下载的Gradle都会进入这个文件里面。 你以为这样就好了? 当你在Android里面执行...
需要用到的知识点: 获取本地资源图片的方法 读取xml文件内容 读取本地资源方法: 使用getIdentifiler()方法可以方便获取各应用包...
在两个activity转换得时候,如果需要实现顺序执行的话,需要在them里面添加属性:注意android:windowContentTrans...
动画分以下几类 逐帧动画(Frame),即顺序播放事先做好的图像,跟电影类型 补间动画(Tween**),对场景里的对象不断做图像平移 缩放 旋...
绘制文字使用的api: 参数含义:x 文字绘制的起始点y 基线public void drawText(@NonNull String text...