Android--paint应用举例
2023-09-14 08:59:07 时间
android 用paint,canvas 绘图
(1)主要用了paint ,canvas 两个类中的方法
(2)主要用了画线和画圆的方法。
(3)drawline(起始点轴坐标,起始点y轴坐标,终点轴坐标,终点y轴坐标)
(4)drawcircle(圆心x轴坐标,圆心y轴坐标,半径,画布)
效果图:
直接上代码了:
package com.example.drawpicture; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.View; class Customview1 extends View{ Paint paint; public Customview1(Context context) { super(context); paint = new Paint(); paint.setColor(Color.BLACK); paint.setStrokeJoin(Paint.Join.ROUND); paint.setStrokeCap(Paint.Cap.ROUND); paint.setStrokeWidth(3); paint.setTextSize(40);//设置字体大小 } protected void onDraw(Canvas canvas) { //横线 //top canvas.drawLine(30, 30, 450,30, paint); canvas.drawLine( 30, 100, 450,100, paint); canvas.drawLine( 30, 170, 450,170, paint); canvas.drawLine( 30, 240, 450,240, paint); canvas.drawLine( 30, 310, 450,310, paint); // bottom canvas.drawText(" 楚 河 ", 65, 355, paint);//使用画笔paint canvas.drawText(" 汉 界 ", 320,355 , paint);//使用画笔paint canvas.drawLine(30, 380, 450,380, paint); canvas.drawLine( 30, 450, 450,450, paint); canvas.drawLine( 30, 520, 450,520, paint); canvas.drawLine( 30, 590, 450,590, paint); canvas.drawLine( 30, 660, 450,660, paint); //竖线 //left canvas.drawLine(30, 30,30,660, paint); canvas.drawLine(83, 30, 83,310, paint); canvas.drawLine(136, 30, 136,310, paint); canvas.drawLine(189, 30, 189,310, paint); canvas.drawLine(242, 30, 242,310, paint); canvas.drawLine(294, 30, 294,310, paint); canvas.drawLine(347, 30, 347,310, paint); canvas.drawLine(398, 30, 398,310, paint); //right canvas.drawLine(83, 380, 83,660, paint); canvas.drawLine(136, 380, 136,660, paint); canvas.drawLine(189, 380, 189,660, paint); canvas.drawLine(242, 380, 242,660, paint); canvas.drawLine(294, 380, 294,660, paint); canvas.drawLine(347, 380, 347,660, paint); canvas.drawLine(398, 380, 398,660, paint); canvas.drawLine(450,30 ,450,660, paint); //大营 canvas.drawLine(189, 30, 294,170, paint); canvas.drawLine(294, 30, 189,170, paint); canvas.drawLine(189,520, 294,660, paint); canvas.drawLine(294,520, 189,660, paint); //topcircle canvas.drawCircle(450, 240,20, paint); canvas.drawCircle(346, 240,20, paint); canvas.drawCircle(242, 240,20, paint); canvas.drawCircle(396, 170,20, paint); canvas.drawCircle(450, 30,20, paint); canvas.drawCircle(396, 30,20, paint); canvas.drawCircle(346, 30,20, paint); canvas.drawCircle(294, 30,20, paint); canvas.drawCircle(242, 30,20, paint); canvas.drawCircle(189, 30,20, paint); canvas.drawCircle(135, 30,20, paint); canvas.drawCircle(83, 30,20, paint); canvas.drawCircle(30, 30,20 , paint); canvas.drawCircle(83, 170,20, paint); canvas.drawCircle(135, 240,20, paint); canvas.drawCircle(30, 240,20, paint); //bottomcircle canvas.drawCircle(450, 450,20, paint); canvas.drawCircle(346, 450,20, paint); canvas.drawCircle(242, 450,20, paint); canvas.drawCircle(396, 520,20, paint); canvas.drawCircle(450, 660,20, paint); canvas.drawCircle(396, 660,20, paint); canvas.drawCircle(346, 660,20, paint); canvas.drawCircle(294, 660,20, paint); canvas.drawCircle(242, 660,20, paint); canvas.drawCircle(189, 660,20, paint); canvas.drawCircle(135, 660,20, paint); canvas.drawCircle(83, 660,20, paint); canvas.drawCircle(30, 660,20, paint); canvas.drawCircle(83, 520,20, paint); canvas.drawCircle(135, 450,20, paint); canvas.drawCircle(30, 450,20, paint); paint.setColor(Color.RED); paint.setTextSize(20); canvas.drawText("兵", 21,458, paint); canvas.drawText("兵", 127,458, paint); canvas.drawText("兵", 232,458 , paint); canvas.drawText("炮", 388,527, paint); canvas.drawText("车", 440,668 , paint); canvas.drawText("馬", 388,668 , paint); canvas.drawText("象", 335,668 , paint); canvas.drawText("仕", 285,668 , paint); canvas.drawText("帥", 232,668 , paint); canvas.drawText("仕", 180,668 , paint); canvas.drawText("象", 127,668 , paint); canvas.drawText("馬", 72,668 , paint); canvas.drawText("车", 21,668 , paint); canvas.drawText("炮", 72, 527, paint); canvas.drawText("兵", 335,458 , paint); canvas.drawText("兵", 440,458, paint); canvas.drawText("卒", 21,245, paint); canvas.drawText("卒", 127,245, paint); canvas.drawText("卒", 232,245 , paint); canvas.drawText("炮", 72, 177, paint); canvas.drawText("车", 21,35 , paint); canvas.drawText("馬", 72,35 , paint); canvas.drawText("象", 127,35 , paint); canvas.drawText("士", 180,35 , paint); canvas.drawText("将", 232,35 , paint); canvas.drawText("士", 285,35 , paint); canvas.drawText("象", 335,35 , paint); canvas.drawText("馬", 388,35 , paint); canvas.drawText("车", 440,35 , paint); canvas.drawText("炮", 388, 177, paint); canvas.drawText("卒", 335,247 , paint); canvas.drawText("卒", 440,247, paint); } }
相关文章
- Android开发笔记(一百八十六)管理SQLite的利器——应用检查器App Inspection
- android 的hook技术,Android Native Hook技术(一)
- strictmode android,Android 应用性能优化-StrictMode(严格模式)
- Android代码混淆之混淆规则
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- android vlc 中文字幕,解决Android版vlc中文乱码问题
- android 验证码短信验证码,Android短信验证码倒计时验证的2种常用方式
- Android开发笔记(一百八十五)使用设备浏览器Device File Explorer导出存储卡的文件
- android scaleanimation动画,Android 动画之ScaleAnimation应用详解「建议收藏」
- Android Tensorflow 示例代码 Pose Estimation项目编译
- 【Android 应用开发】对Android体系结构的理解--后续会补充
- 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析
- 【Android 应用开发】Android - 时间 日期相关组件
- 【Android 应用开发】Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件
- 【Android应用开发】Android Studio - MAC 版 - 快捷键详解
- 【Android 进程保活】应用进程拉活 ( 账户同步拉活 | 账号添加 | 源码资源 )
- 【错误记录】Android Studio 4.2.1 编译报错 ( 设置支持的 Java 和 Kotlin 版本 | java.lang.BootstrapMethodError )
- 【Android 插件化】“ 插桩式 “ 插件化框架 ( 运行应用 | 代码整理 )
- 【Android 启动过程】Android 应用启动流程 | Activity 启动流程
- 【Android 插件化】VirtualApp 源码分析 ( 启动应用源码分析 | HomePresenterImpl 启动应用方法 | VirtualCore 启动插件应用最终方法 )
- 【Android 逆向】应用安装目录 ( Android 应用的默认安装目录 | 查找 Android 应用的安装目录 | 查询当前正在运行的应用包名 | 根据包名查询应用安装路径 )
- 【错误记录】Android 应用配置第三方 so 动态库 ( /data/app/comxxx==/base.apk/lib/arm64-v8a]couldn‘t find “libx.so“ )
- 【Android 逆向】类加载器 ClassLoader ( 启动类加载器 | 扩展类加载器 | 应用类加载器 | 类加载的双亲委托机制 )
- 【Android Gradle 插件】DexOptions 配置 ④ ( additionalParameters 属性配置 | 使用 BuildType 配置多 dex 机制 )
- 【Android Gradle 插件】Gradle 扩展属性 ② ( 定义在根目录 build.gradle 中的扩展属性 | 使用 rootProject.扩展属性名访问 | 扩展属性示例 )
- [android] 服务的生命周期(混合方式)详解手机开发
- Android中android:visibility的3中属性的剖析详解手机开发
- 并非所有Android应用都能够在Windows 11上运行
- 如何使用 Android Things 和 TensorFlow 在物联网上应用机器学习
- 安卓编年史(19):Android 4.0 冰淇淋三明治—摩登时代
- android如何判断当前是否为飞行模式
- Android笔记之:深入ViewStub的应用
- android完全退出应用程序实现代码
- android轻松管理安卓应用中的log日志发布应用时log日志全部去掉的方法
- android教程之hockeyapp捕获异常示例
- Android实现Back功能代码片段总结