|
HTML HTML5 HTMLタグ スマートフォン |
CSS CSSプロパティ CSS・HTML便利ツール |
HTML色見本 配色組み合わせツール 特殊文字 |
JAVA Android |
PHP Smarty修飾子 EXCEL |
*このページは web-dou.com のアーカイブです。(2025年 サイト統合)
| 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);
}
}
}
}