HTML HTML5 HTMLタグ スマートフォン |
CSS CSSプロパティ CSS・HTML便利ツール |
HTML色見本 配色組み合わせツール 特殊文字 |
JAVA Android |
PHP Smarty修飾子 EXCEL |
SurfaceView | |
---|---|
SurfaceHolder getHolder() | SurfaceHolderを取得 |
SurfaceHolder | |
void addCallback(SurfaceHolder.Callback) | コールバックを設定 |
removeCallback(SurfaceHolder.Callback) | コールバックを解除 |
Canvas lockCanvas() | 描画を開始 |
void unlockCanvasAndPost(Canvas) | 描画を終了 |
Canvas | |
int save() | 状態を保存 |
void restore() | 状態を復元 |
Paint | |
setAntiAlias(boolean) | アンチエイリアスを設定 |
package jp.mediawing.android.test2; import android.app.Activity; import android.content.Context; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.view.SurfaceHolder; import android.view.SurfaceView; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //レイアウトファイルでなく カスタムクラスを使用。 //setContentView(R.layout.main); setContentView(new SurfaceTestView(this)); } // SurfaceViewをextends したカスタムクラス class SurfaceTestView extends SurfaceView implements Runnable { private Thread thread; public SurfaceTestView(Context context) { super(context); // スレッドの作成と実行 thread = new Thread(this); thread.start(); } public void run() { // ループ処理 while (thread != null) { draw() ; } } // 描画処理 public void draw() { Canvas canvas = getHolder().lockCanvas(); if ( canvas != null) { // 描画処理を以下に記述 // ~ getHolder().unlockCanvasAndPost(canvas); } } } }