国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android繪制機(jī)器人小實(shí)例

2019-10-22 18:18:40
字體:
供稿:網(wǎng)友

本文實(shí)例通過前面學(xué)過的Paint、Canvas等2D繪畫技術(shù)來實(shí)現(xiàn)在手機(jī)屏幕上繪制Android機(jī)器人。

具體代碼實(shí)現(xiàn)和效果:

用來顯示自定義的繪圖類的布局文件
res/layout/main.xml:

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:id="@+id/frameLayout1"  android:orientation="vertical"  >  </FrameLayout>

 打開MainActivity,在文件中創(chuàng)建名為MyView的內(nèi)部類,繼承android.view.View類,并添加構(gòu)造方法和重寫onDraw(Canvas canvas)方法,在里面進(jìn)行作圖:

MainActivity:

package com.example.test;  import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.RectF; import android.os.Bundle; import android.view.View; import android.widget.FrameLayout;  public class MainActivity extends Activity {    @Override  public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.main);      //獲取布局文件中添加的幀布局管理器   FrameLayout ll=(FrameLayout)findViewById(R.id.frameLayout1);   //將自定義的MyView視圖添加到幀布局   ll.addView(new MyView(this));  }    public class MyView extends View{     public MyView(Context context) {    super(context);    // TODO Auto-generated constructor stub   }     @Override   protected void onDraw(Canvas canvas) {    Paint paint=new Paint();    paint.setAntiAlias(true);//使用抗鋸齒功能    paint.setColor(Color.GREEN);    //繪制機(jī)器人的頭    RectF rectf_head=new RectF(10,10,100,100);    rectf_head.offset(100, 20);//設(shè)置在X軸上偏移100像素,Y軸上偏移20像素    canvas.drawArc(rectf_head, -10, -160, false, paint);//繪制弧    /*.drawArc參數(shù)1:圓的范圍大小;參數(shù)2:起始角度 ;    參數(shù)3:圓心角角度,360為圓,180為半圓;    參數(shù)4:中心 ;參數(shù)5:畫筆Paint;*/    //繪制眼睛    paint.setColor(Color.WHITE);    canvas.drawCircle(135, 53, 4, paint);//繪制圓    canvas.drawCircle(175, 53, 4, paint);//繪制圓    paint.setColor(Color.GREEN);    //繪制天線    paint.setStrokeWidth(2);//設(shè)置觸筆的寬度    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);//繪制圓角矩形    /*參數(shù)說明    rect:RectF對(duì)象。    rx:x方向上的圓角半徑。    ry:y方向上的圓角半徑。    paint:繪制時(shí)所使用的畫筆。*/        //繪制胳膊    RectF rectf_arm=new RectF(85,75,105,140);    canvas.drawRoundRect(rectf_arm, 10, 10, paint);    rectf_arm.offset(120, 0);//設(shè)置在X軸上偏移120像素    canvas.drawRoundRect(rectf_arm, 10, 10, paint);    //繪制腿    RectF rectf_leg=new RectF(125,150,145,200);    canvas.drawRoundRect(rectf_leg, 10, 10, paint);    rectf_leg.offset(40, 0);//設(shè)置在X軸上偏移40像素    canvas.drawRoundRect(rectf_leg, 10, 10, paint);    super.onDraw(canvas);   }  }   } 

 畫出的效果如圖

Android,機(jī)器人

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 徐闻县| 安新县| 新巴尔虎右旗| 雷州市| 六盘水市| 青铜峡市| 漠河县| 万山特区| 苍溪县| 新乡县| 丰原市| 长海县| 雅江县| 台山市| 靖宇县| 改则县| 雷波县| 甘南县| 余庆县| 庆元县| 婺源县| 台中县| 徐州市| 新源县| 凤山县| 绥江县| 宽城| 明光市| 永宁县| 广灵县| 红桥区| 安仁县| 江安县| 兴业县| 理塘县| 小金县| 山阴县| 灵武市| 剑阁县| 博客| 秦皇岛市|