0

ここでは、別のクラス (menuAnimation) に基づいてカスタム ビューを設定するアクティビティがあります。

package nick.game.breakout;

import android.app.Activity;
import android.os.Bundle;

public class GameMenu extends Activity {

    menuAnimation myMenu;

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    overridePendingTransition(R.anim.fadein, R.anim.fadeout);
    myMenu = new menuAnimation(this);

    setContentView(myMenu);  
}
}

これが myMenu ビューです。画面上でボールの画像が跳ね返るだけです。私の問題は、このビューにボタンを追加する方法がわからないことです。これは、このビューをバックグラウンドでボールが跳ね返るシンプルな 2 ボタン メニューにしたいためです。XML レイアウトを使用するコンテンツ ビューで XML を介してボタンを追加する方法は知っていますが、このカスタム ビューを使用するとわかりません。

    package nick.game.breakout;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class menuAnimation extends View {

    Bitmap ball;
    Paint paint = new Paint();
    int dx;
    int dy;
    int vx = 5;
    int vy = 5;

    public menuAnimation(Context context) {
        super(context);
        this.setBackgroundColor(Color.parseColor("#2186ed"));
        ball = BitmapFactory.decodeResource(getResources(), R.drawable.ball);

    }

public void onDraw(Canvas canvas) {
    drawBall(dx,dy, canvas);
    dx = dx + vx;
    dy = dy + vy;

    if (dx < 0 || dx > canvas.getWidth() - 10) vx = -vx;
    if (dy < 0 || dy > canvas.getHeight() - 10) vy = -vy;

    invalidate();
}

private void drawBall(int x2, int y2, Canvas canvas) {
    canvas.drawBitmap(ball, x2, y2, paint);

}
}

どんな助けでも大歓迎です。

4

1 に答える 1

0

コードでは、次の行を使用して、ページの現在のビューを myMenu に設定しています。

setContentView(myMenu); 

myMenu オブジェクトにあるものはすべて表示されます。

myMenu オブジェクトは View オブジェクトを拡張します。したがって、基本的に myMenu はビューです。

ボタンを作成して myMenu オブジェクトに追加すると、ボタンが表示されます。

何かのようなもの

Button button = new Button(context); // or use this
myMenu.addView(button);
于 2013-05-23T22:42:28.550 に答える