入門編-1.ImageView、Surface View、カスタムView図面
2295 ワード
入門編-1.ImageView、Surface View、カスタムView図面Androidプラットフォームで1枚の画像を描き、少なくとも3つの異なるAPI、ImageView、Surface View、カスタムViewを使用します. ImageView描画画像 これはAndroid開発をしたことがある人は、どのように描くか知っているに違いない.簡単:
簡単にインタフェースで私たちが描いた画像を見ました. Surface View描画画像 これはImageViewが画像を描くより少し複雑です.カスタムViewペイント画像 これはカスタムビューを描く経験があるので簡単にできますが、Androidカスタムビューを描くという知識も簡単に整理しました.
注意:権限を忘れないでください.そうしないと、成功は示されません.
Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");
imageView.setImageBitmap(bitmap);
簡単にインタフェースで私たちが描いた画像を見ました.
SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surface);
surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
if(surfaceHolder ==null) {
return;
}
Paint paint =new Paint();
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.STROKE);
Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");// bitmap
Canvas canvas = surfaceHolder.lockCanvas();// surfaceView
canvas.drawBitmap(bitmap, 0, 0, paint);//
surfaceHolder.unlockCanvasAndPost(canvas);//
}
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder,inti,inti1,int i2) {
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
}
});
public class CustomView extends View {
Paint paint = new Paint();
Bitmap bitmap;
public CustomView(Context context) {
super(context);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.STROKE);
bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg"); // bitmap
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// onDraw
if (bitmap != null) {
canvas.drawBitmap(bitmap, 0, 0, paint);
}
}
}
注意:権限を忘れないでください.そうしないと、成功は示されません.