據推測它必須是相當普遍的願望的屏幕,其中 有圖形元素(您可能喜歡用帆布)和窗口小部件/按鈕在相同的屏幕上。但是,一切都我看到目前爲止給出要麼全控件OR整個屏幕畫布的屏幕的例子。有人能指出我的一些示例代碼,以便同時使用兩者。結合畫布和佈局?
...或者是這難道不是天經地義的事?
編輯:從史蒂夫的建議,下面就我的代碼現在看起來像這樣:
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。
謝謝,但是如何從surfaceview中獲取畫布? – Mick
你可以在開始時只獲取一次'SurfaceHolder',然後每次你想要繪製'Canvas'就可以得到它。當然,你可以從'findViewById()'得到'SurfaceView'。 –
我敢肯定,你的建議是正確的,但我還是一個一團糟短期得到它的工作的 - 見編輯。 – Mick