У меня есть макет 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);
}
}
}
}