2011年11月23日水曜日

独自のView でCanvas に座標を指定して表示


package com.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

public class Test01Activity extends Activity {
 public class CustomView extends View {
  private Bitmap image;

  public CustomView(Context context) {
   super(context);
   // TODO 自動生成されたコンストラクター・スタブ
   setFocusable(true);
  }

  protected void onDraw(Canvas canvas) {
   super.onDraw(canvas);
   File srcFile = new File("/mnt/sdcard/Pictures/a0002_006064.jpg");
   try {
    InputStream is = new FileInputStream(srcFile);
    image = BitmapFactory.decodeStream(is);
   } catch (FileNotFoundException e) {
    // TODO 自動生成された catch ブロック
    e.printStackTrace();
   }
   canvas.drawBitmap(image, 0, 0, null);
  }
 }

 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  // タイトルの非表示
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  // タスクバーの非表示
  getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

  // Activityに直接を追加する
  setContentView(new CustomView(this));

 }
}

関連記事

0 件のコメント:

コメントを投稿