パスワードを忘れた? アカウント作成
356939 journal

harutin_99の日記: AndroidタブレットでSurfaceViewが動かない 1

日記 by harutin_99

ネット上のサンプルをあさると、
SurfaceViewのコンストラクタで、
以下の処理が記述されているサンプルが多いが
Android 3以降では動かない。

holder = getHolder();
holder.addCallback(this);
holder.setFixedSize(getWidth(), getHeight());

ここで、実はgetWidth()やgetHeight()は0を返している。

以下想像。

コンストラクタが完了するまではsurfaceが生成されていないため、
幅と高さは0が返されるのだと思う。
そしてAndroid 3以降はサイズが0,0だとsurfaceが生成されず、
surfaceCreatedも呼ばれることがないのではないか。

というわけで、
holder.setFixedSize(getWidth(), getHeight());は、
縦幅、横幅に固定値を設定するか、
surfaceCreated(やsurfaceChanged)の中に書くしかないのでは?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...