自定义画圆

来源:互联网 发布:集美大学网络中心主任 编辑:程序博客网 时间:2024/05/20 19:47

自定义—- 圆

1. 自定义控件 DrawCircle

`package com.example.drawcircle;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;public class DrawCircle extends View{float x = 40;float y = 50;Paint paint = new Paint();public DrawCircle(Context context) {    super(context);    // TODO Auto-generated constructor stub}public DrawCircle(Context context, AttributeSet attrs) {    super(context, attrs);    // TODO Auto-generated constructor stub}public DrawCircle(Context context, AttributeSet attrs, int defStyle) {    super(context, attrs, defStyle);    // TODO Auto-generated constructor stub}@Overrideprotected void onDraw(Canvas canvas) {    super.onDraw(canvas);    paint.setColor(Color.RED);    canvas.drawCircle(x, y, 20, paint);}@Overridepublic boolean onTouchEvent(MotionEvent event) {    // TODO Auto-generated method stub    x = event.getX();    y = event.getY();    invalidate();    return true;}}`

2. res->xml 布局

`<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><com.example.drawcircle.DrawCircle    android:layout_width="match_parent"    android:layout_height="match_parent"/></RelativeLayout>`

3. 活动中展示

`package com.example.drawcircle;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {    // Inflate the menu; this adds items to the action bar if it is present.    getMenuInflater().inflate(R.menu.main, menu);    return true;}}`

0 0
原创粉丝点击