首先在ANDROID中将PNG设置为背景画布图像,然后在顶部使用另一个图像但不起作用

时间:2012-05-15 10:56:57

标签: android android-canvas

我需要帮助才能理解我做错了什么。我将PNG图像设置为我的背景(画布),然后我想将另一个PNG图像放在特定坐标的顶部。但问题是,当我首先将背景画布PNG设置在那里但是当另一个图像(在顶部)加载时,背景画布消失。所以显然我做的不对。

Android开发者社区的任何建议都将受到高度赞赏。

谢谢!

这是以下代码:

StartNewGame.java:

package com.firm.armouredassault;

import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;

public class StartNewGame extends Activity {

    MyGame ourView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

        ourView = new MyGame(this);
        setContentView(ourView);

    }




}    

Mygame.java

package com.firm.armouredassault;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;

import android.view.View;

public class MyGame extends View {

    Bitmap BTank, TShell;

    public MyGame(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        BTank = BitmapFactory.decodeResource(getResources(),     R.drawable.bluetanksm);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.onDraw(canvas);

        canvas.drawBitmap(BTank, 10, 200, null);

    }

}

newgame.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/canvas"
    android:orientation="vertical" >

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

在画布上写一个位图,在方法和画布作为参数的帮助下将此画布传递给新画布,然后如果你在新画布上写了一个新的bitbap,那么它将被写入