1.在res/layout 目录下的布局文件main.xml采用默认代码。
2.在src/main/java.com.wuhuan 下面创建一个名叫 MyView的class,代码如下:
package com.example.asus.wuhuan;
/**
* Created by ASUS on 2018/4/25.
*/
import android.view.View;
import android.content.Context;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
public class MyView extends View {
public MyView(Context context) {
super(context);
}
public void onDraw(Canvas canvas) {
Paint paint_blue = new Paint(); //绘制蓝色的环
paint_blue.setColor(Color.BLUE);
paint_blue.setStyle(Style.STROKE);
paint_blue.setStrokeWidth(10);
canvas.drawCircle(110,150,60,paint_blue);
Paint paint_yellow = new Paint(); //绘制黄色的环
paint_yellow.setColor(Color.YELLOW);
paint_yellow.setStyle(Style.STROKE);
paint_yellow.setStrokeWidth(10);
canvas.drawCircle((float)175.5, 210, 60, paint_yellow);
Paint paint_black = new Paint(); //绘制黑色的环
paint_black.setColor(Color.BLACK);
paint_black.setStyle(Style.STROKE);
paint_black.setStrokeWidth(10);
canvas.drawCircle(245, 150, 60, paint_black);
Paint paint_green = new Paint(); //绘制绿色的环
paint_green.setColor(Color.GREEN);
paint_green.setStyle(Style.STROKE);
paint_green.setStrokeWidth(10);
canvas.drawCircle(311, 210, 60, paint_green);
Paint paint_red = new Paint(); //绘制红色的环
paint_red.setColor(Color.RED);
paint_red.setStyle(Style.STROKE);
paint_red.setStrokeWidth(10);
canvas.drawCircle(380, 150, 60, paint_red);
Paint paint_string = new Paint(); //绘制字符串
paint_string.setColor(Color.BLUE);
paint_string.setTextSize(20);
canvas.drawText("Welcome to Beijing", 245, 310, paint_string);
Paint paint_line = new Paint(); //绘制直线
paint_line.setColor(Color.BLUE);
canvas.drawLine(240, 310, 425, 310, paint_line);
Paint paint_text = new Paint(); //绘制字符串
paint_text.setColor(Color.BLUE);
paint_text.setTextSize(20);
canvas.drawText("北京欢迎您", 275, 330, paint_text);
}
}
3.在src/main/java.com.wuhuan 下面MainActivity 类改为
代码如下:
package com.example.asus.wuhuan;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
setContentView(new MyView(this)); //加载MyView
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
4.结果截图: