(キャンバスを使用したいかもしれない)グラフィックス要素とウィジェット/ボタンが同じ画面にあるスクリーンを望むのはかなり一般的です。しかし、私が今まで見てきたことのすべては、ウィジェットでいっぱいのスクリーンの例を示していますまたは全画面キャンバス。誰かが両方を同時に使用するためのいくつかのサンプルコードを指し示すことができますか?キャンバスとレイアウトを結合しますか?
...これは行われたものではありませんか?
EDIT:はスティーブの提案に続いて私のコードは次のようになります。
public class CanLay extends Activity
{
Bitmap bm;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.canlay);
InputStream is = getResources().openRawResource(R.drawable.ella);
bm = BitmapFactory.decodeStream(is);
SurfaceView sv;
SurfaceHolder sh;
Canvas can = null;
sv = (SurfaceView)findViewById(R.id.surview);
sh = sv.getHolder();
try
{
can = sh.lockCanvas(null);
synchronized(sh)
{
can.drawBitmap(bm, 0, 0, null);
}
}
finally
{
if (can != null)
{
sh.unlockCanvasAndPost(can);
}
}
}
}
唯一の問題は、今あることsh.lockCanvas(NULL);常にnullを返します。
ありがとうございます。しかし、どのように表面ビューからキャンバスを取得しますか? – Mick
最初に 'SurfaceHolder'を一度取得し、描画するたびに' Canvas'を取得することができます。もちろん、 'findViewById()'から 'SurfaceView'を取得します。 –
私はあなたの提案が正しいと確信していますが、私はまだそれを動作させるのに手近ではありません。 – Mick