国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 彩票| 天等县| 望江县| 临沂市| 隆尧县| 临澧县| 古蔺县| 天峨县| 鹤庆县| 梧州市| 曲松县| 田林县| 甘洛县| 银川市| 揭东县| 昂仁县| 临清市| 安西县| 沙坪坝区| 盘锦市| 梅州市| 四平市| 岐山县| 山阴县| 德化县| 西吉县| 秦皇岛市| 黄石市| 常德市| 绍兴县| 平潭县| 牙克石市| 禄丰县| 清远市| 象山县| 彝良县| 五寨县| 余庆县| 海兴县| 土默特左旗| 呼伦贝尔市|