上我有一個XML佈局是這樣的:用戶圖紙沒有顯示在畫布
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<com.somedomain.drawings.DrawingSurface
android:layout_width="fill_parent"
android:layout_height="200dip"
android:id="@+id/drawingSurface"
android:background="@drawable/bg2"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="OK"
android:onClick="onClick"
android:id="@+id/colorGreenBtn" />
</LinearLayout>
</RelativeLayout>
當我試圖借鑑DrawingSurface,圖紙沒有顯示。但畫布的背景圖像正在顯示。當我保存它時,圖形顯示在輸出中。
當我刪除DrawingSurface的背景圖像並嘗試繪製它時,它顯示出來。
我想在用戶使用背景圖像在畫布上繪製時顯示圖形。有任何想法嗎?非常感謝您的幫助! :)
更新:這是我的繪製代碼
@Override
public void run() {
Canvas canvas = null;
while (_run){
if(isDrawing == true){
try{
canvas = mSurfaceHolder.lockCanvas(null);
if(mBitmap == null){
mBitmap = Bitmap.createBitmap (1, 1, Bitmap.Config.ARGB_8888);
}
final Canvas c = new Canvas (mBitmap);
c.drawColor(0, PorterDuff.Mode.CLEAR);
canvas.drawColor(0, PorterDuff.Mode.CLEAR);
canvas.drawColor(0x00000000);
commandManager.executeAll(c,previewDoneHandler);
previewPath.draw(c);
canvas.drawBitmap (mBitmap, 0, 0,null);
} finally {
mSurfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
}
您可能需要包含您的代碼,因爲您的繪圖代碼可能存在錯誤。 –
感謝您的回覆@David Olsson,我更新了我的問題。 – Emkey