Android小Demo——绘制小机器人
先看效果图:
第一步 创建一个项目,在MainActivity所在文件夹下面创建一个MyView的java文件:
第二步 将MyView文件添加到布局文件中:
布局文件(activity_main.xml):
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/frameLayout"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"></FrameLayout>
MainActivity:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);FrameLayout frameLayout = findViewById(R.id.frameLayout);frameLayout.addView(new MyView(this));}
第三步 在MyView文件中绘制小机器人(在onDraw方法中进行):
1、创建画笔:
Paint paint = new Paint(); //创建一个画笔
paint.setAntiAlias(true); //采用抗锯齿功能
paint.setColor(0xFFA4C739); //设置画笔的颜色为绿色
2、绘制机器人的头:
RectF rectF = new RectF(10, 10, 100, 100); //外轮廓矩形
rectF.offset(90, 20);
canvas.drawArc(rectF, -10, -160, false, paint);
3、绘制眼睛(眼睛的颜色是白色,所以这里要重新设置颜色):
paint.setColor(0xFFFFFFFF); //设置画笔为白色
canvas.drawCircle(165, 53, 4, paint);
canvas.drawCircle(125, 53, 4, paint);
4、绘制天线(天线有两根):
paint.setColor(0xFFA4C739);
paint.setStrokeWidth(2); //设置笔触的宽度
canvas.drawLine(110, 15, 125, 35, paint);
canvas.drawLine(180, 15, 165, 35, paint);
5、绘制身体(上面是直角矩形,下面是圆角矩形):
canvas.drawRect(100, 75, 190, 150, paint); //绘制矩形
RectF rectF_body = new RectF(100, 140, 190, 160);
canvas.drawRoundRect(rectF_body, 10, 10, paint); //绘制圆角矩形
6、绘制胳膊:
RectF rectF_arm = new RectF(75, 75, 95, 140);
canvas.drawRoundRect(rectF_arm, 10, 10, paint);
rectF_arm.offset(120, 0);
canvas.drawRoundRect(rectF_arm, 10, 10, paint);
7、绘制小腿:
RectF rectF_leg = new RectF(115, 150, 135, 200);
canvas.drawRoundRect(rectF_leg, 10, 10, paint);
rectF_leg.offset(40, 0);
canvas.drawRoundRect(rectF_leg, 10, 10, paint);
Android小Demo——绘制小机器人相关推荐
- Python 小程序 绘制 小蛇
好激动,终于接触到关于图形知识,(^__^*) 嘻嘻-- 一.程序代码 二.程序分析 绘制等边三角形 import turtledef drawSnake():turtle.fd(200)turtle ...
- Unity小Demo
Unity.VRChat小Demo 射击小demo
- Android使用讯飞SDK开发语音识别及合成小Demo
自然语言处理现在是比较火的一个领域,也有了很多成熟的应用,像科大讯飞或是百度语音等等这些商业产品的一个优势之一就是比较稳定,适合用来做开发.下面就展示一个根据讯飞SDK文档做出的具有语音识别和语音合成 ...
- Android学习小Demo(12)TodoList实现ListView的分组实现
很多情况下, 我们想要ListView上面展示的东西是可以分组的,比如联系人列表,国家列表啊,这样看起来数据的展现比较有层次感,而且也有助于我们快速定位到某一个具体的条目上,具体效果请看下图: 这是前 ...
- Android学习小Demo(11)一个显示行线的自定义EditText
今天在处理一个EditText的时候,想着把EditText做成像一本作业本上的纸一样,每一行都可以由线条隔开,具体效果如下: 1)最开始的思路 一开始的想法是很简单的,找出每一行的高度,然后一行一行 ...
- Android学习小Demo(10)ToDoList的改进版之ViewPager显示多个图片
在TodoList增强版的增加界面上,为了显示图片,我是挖了两块地方,放了两个ImageButton,来显示图片,而且限制了最多只能放两张图片.当两个View都放置图片之后,我就会把"Gal ...
- Android学习小Demo(10)ToDoList的加强版
前两天去超市逛东西,问老板娘这个东西多少钱,那个东西多少钱,但是一两分钟后就搞混了,当时就想,我不是写了一个todo的吗,可以再拍照放上去,这样就有对比啦! 于是兴冲冲地赶回家,把功能给实现了,虽然这 ...
- Android学习小Demo(9)一个To Do List的实现
记得看过一篇文章,是说一个人临走之前,列下了想做的最后100件事情,然后拿着这张便签,一件一件地去实现.又想起乔布斯说,如果今天是你的最后一天,你会怎么过? 我有很多事情想做,想写很多的文章,但是时间 ...
- Android 新版个税计算小demo程序
去年10月份开始个人所得税支持专项扣除和上调了个税起征点,针对该项改变写了一个小demo,在新政策下计算个人所得税扣除,工资所得,然后将每个月的扣除额度和实际所得额度展示. 截图如下: 直接上源码: ...
最新文章
- pandas读取大文件(chunksize)并通过sqlalchemy写入MySQL数据库
- 量子计算机完整的图片,记者带你走近世界首台超越早期经典计算机的光量子计算机(组图)...
- 4562亿元教育经费收从哪里花向何处
- elementUI组件el-dropdown - 踩坑篇
- 在Sohu的最后一个作品-2011版大视野
- 浅谈React Hooks
- java中遍历Map几种方法
- Rstudio运行时一直报错说找不到对象
- 江苏长江水位告警 南京明城墙再现“龙吐水”
- embed预览pdf_09.html使用iframe、embed查看pdf不显示(未解决),使用pdf.js预览pdf
- 手机浏览器获取某东cookie
- c 实现走迷宫流程图_[求助]:迷宫问题 流程图
- Elasticsearch-analysis-pinyin7.6.0--可选参数详情
- 盛世昊通愿天下无拐,期待所有失孤家庭早日团圆
- C++ 字符串和数字之间的相互转换
- android提高应用声音,Sleepo - 提升睡眠质量的声音应用 - Android 应用 - 【最美应用】...
- 全国计算机高新技术证书积分,计算机高新技术证积分入户入学首选,报考条件及考试时间安排...
- 天龙八部TLBB从0到1搭建教程-可能会遇见的问题
- 快捷启动应用程序的小方法
- 喜忧参半的AI,“裸奔”之下的隐私焦虑 1
热门文章
- 体感互动LED显示屏系统|体感互动屏幕|体感互动大屏软件
- pta——点赞,打印杨辉三角,吃火锅(c语言)
- 数据结构教程(第五版 李春葆 上机实验题3 验证性实验)
- Power BI+Power Apps联动初尝试
- 电赛校赛总结----一维板球系统【代码开源】
- 2021综述:计算机视觉中的注意力机制(续四):分支注意力
- MySQL建表1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL
- Html 内嵌 选择器属性 Dom操作 JavaScript 事件
- 虚拟创业云|宝妈和大学生兼职和手机网赚兼职的任务平台大全
- innobackupex全量恢复