android 绘图与自定义控件
1.布局
<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"
tools:context=".MainActivity" >
<com.example.test.MyView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/view"/>
</RelativeLayout>
2、代码
package com.example.test;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
public class MyView extends View{
public MyView(Context context) {
super(context);
}
public MyView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setTextSize(40);
canvas.drawLine(40,40,400,40,paint);
canvas.drawText("流年逝水",40,100,paint);
Rect rect = new Rect(40,200,240,300);
canvas.drawRect(rect,paint);
canvas.drawCircle(140, 450, 100, paint);
Rect src = new Rect(0,0,100,100);
Rect dst = new Rect(300,200,500,400);
Bitmap bitmap = ((BitmapDrawable)getResources().getDrawable(R.drawable.ic_launcher)).getBitmap();
canvas.drawBitmap(bitmap, src, dst, paint);
super.onDraw(canvas);
}
}
更多相关文章
- Android(安卓)RecyclerView LayoutManager
- Android布局文件.xml中的自定义属性(结合封装的自定义View)
- absolutelayout 实现图片重叠
- Android在布局文件指定位置动态增加删除布局
- java.lang.RuntimeException: Unable to start activity Compone
- Android相对布局实例
- Android:Android布局方式
- view.java
- 一个图片制作ProgressBar