绘制Android的机器人
2016-01-12 20:49
399 查看
1、布局文件
2、MainActivity
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frameLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > </FrameLayout>
2、MainActivity
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FrameLayout ll = (FrameLayout)findViewById(R.id.frameLayout1); ll.addView(new MyView(this)); } public class MyView extends View{ public MyView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { Paint paint = new Paint();//采用默认设置创建一个画笔 paint.setAntiAlias(true);//使用抗锯齿功能 paint.setColor(0xFFA4C739);//设置画笔的颜色为绿色 //绘制机器人的头 RectF rectf_head = new RectF(10,10,100,100); rectf_head.offset(100, 20); canvas.drawArc(rectf_head, -10, -160, false, paint);//绘制弧 //绘制眼睛 paint.setColor(Color.WHITE);//设置画笔的颜色为白色 canvas.drawCircle(135, 53, 4, paint);//绘制圆 canvas.drawCircle(175, 53, 4, paint);//绘制圆 paint.setColor(0xFFA4C739);//设置画笔的颜色为绿色 //绘制天线 paint.setStrokeWidth(2);//设置笔触的宽度 canvas.drawLine(120, 15, 135, 35, paint);//绘制线 canvas.drawLine(190, 15, 175, 35, paint);//绘制线 //绘制身体 canvas.drawRect(110, 75, 200, 150, paint);//绘制矩形 RectF rectf_body = new RectF(110, 140, 200, 160); canvas.drawRoundRect(rectf_body, 10, 10, paint);//绘制圆角矩形 //绘制胳膊 RectF rect_arm = new RectF(85, 75, 105, 140); canvas.drawRoundRect(rect_arm, 10, 10, paint);//绘制左侧的胳膊 rect_arm.offset(120, 0);//设置在x轴上偏移120像素 canvas.drawRoundRect(rect_arm, 10, 10, paint);//绘制右侧的胳膊 //绘制腿 RectF rect_leg = new RectF(125, 150, 145, 200); canvas.drawRoundRect(rect_leg, 10, 10, paint);//绘制左侧的腿 rect_leg.offset(40, 0);//设置在X轴上偏移40像素 canvas.drawRoundRect(rect_leg, 10, 10, paint);//绘制右侧的腿 super.onDraw(canvas); } } }
相关文章推荐
- 基于 Android NDK 的学习之旅-----数据传输一(基本数据类型和数组传输)(附源码)
- 基于 Android NDK 的学习之旅----- C调用Java(附源码)
- Android listview与adapter用法
- Android libphonenumber Demo 手机号码归属地
- Android中两个Activity之间数据传递及返回
- Android NDK开发入门
- Android Studio——synchronized
- Android Studio Gradle编译禁用Lint报错
- Android程序的调试-输出日志信息的几种方法
- Android安装卸载探究
- android的自定义控件简单(二)
- 关于android的Notification的若干问题
- Android----PinnedSectionListView
- Android开发 - 下拉刷新和分段头悬停列表
- Android系统设置【android.provider.settings】
- 关于动态布局的时候调整布局的错误(一)
- android的adb命令
- Android studio 上 EventBus的初步使用
- 30.Android之百度地图简单学习
- Android将程序崩溃信息保存本地文件以及上传到服务器