画笔工具
先在xml文件中放一个button和一个imageview
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="绘制(矩形+文本)"
android:onClick="onClick" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
然后就可以进入activity进行初步的编写了
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView=(ImageView) findViewById(R.id.imageView1);
}
public void onClick(View v){
//1.bitmap (背景对象)
Bitmap bitmap=
Bitmap.createBitmap(200, 200,
Config.ARGB_8888);
//2.构建画布对象(Canvas)
Canvas c=new Canvas(bitmap);
//3.构建画笔对象(Paint)
Paint paint=new Paint();
paint.setColor(Color.YELLOW);
//4.执行绘制动作(数据会绘制到背景对象上)
//4.1绘制一个矩形
//c.drawRect(0, 0, 200, 200, paint);
c.drawRect(new RectF(0, 0, 200, 200), paint);
//4.2绘制一个居中文本
paint.setColor(Color.RED);
paint.setTextSize(30);
String text="tarena";
Rect rect=new Rect();//表示矩形对象
paint.getTextBounds(text, 0,
text.length(), rect);//获得文本的宽度高度,并封装到rect对象
c.drawText(text,100-rect.width()/2,
100+rect.height()/2, paint);
//5.显示绘制的对象
imageView.setImageBitmap(bitmap);
}
}
这种简单的绘制在安卓应用中使用的频率很高,有写提示条之内的使用绘制的方法可以大大的节约资源免去使用图片占用的空间