隅っこに円を描くだけのTextureViewを作ってみました。
public class SingleCircleTextureView extends TextureView implements SurfaceTextureListener
で宣言して、Runnableはメンバ変数として作成しました。
2013/10/30追記ここから
考察が足りてませんでした。まことに申し訳ありません。
アニメーションを作成している際にwindowの状態が変わる、ないしActivityなどを閉じた場合に、
エラーとしてcall to OpenGL ES API with no current context (logged once per thread)が表示されます。
どうやったらこのエラーがとれるのか悪戦苦闘中です。
試したこととしては、HandlerThreadで別looperとしてpostするなどです。
looperをぶつっと切ってもテストアプリ上では実害は見受けられないのですが見過ごせません。
がんばって調査します。
追記ここまで
以下は誤った内容だと思うので、ご注意ください。実際に動かしてみるとよくわかります。
SurfaceViewと異なる点。
・lockcanvasをなどする場合は、TextureViewのlockcanvasを使う。
オートコンプリートで出てくるよ。(デフォルトだと左ctrl+shift)
・実行状態はonSurfaceTextureAvailable。
このメソッドでRunnableをpost()する。
0 件のコメント:
コメントを投稿