0

これは私のメインアクティビティです。

public class MainActvity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new BitmapView(this));
}

この画像の下部にいくつかのボタンがあるXmlファイルを表示する必要があります

class BitmapView extends View {
    public BitmapView(Context context) {
        super(context);``
    }

    @Override
    public void onDraw(Canvas canvas) {
        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
        canvas.drawColor(Color.BLACK);
        canvas.drawBitmap(bmp, 10, 10, null);
    }
}

}

4

1 に答える 1

0

ボタンは責任を負わないので、そうすることはお勧めしません (つまり、ボタンをクリックしても状態が変化することはありません。実際、ボタンが押されたことを検出するのはあなた次第です)。 .

いずれにせよ、それが必要な場合は、次のようにすることで実現できます。

private void drawButton(Canvas canvas, float left, float right, Button button) {
    canvas.translate(left, right);
    button.draw(canvas);
    canvas.translate(-left, -right);
}

onDraw メソッド内からこれを呼び出すことができます。通常、ボタンを手動でインスタンス化する必要があります。また、ビュー全体を描画することもできます...その場合、それらをインスタンス化するか、インフレートする必要があります。draw次に、取得したキャンバスを渡してそのメソッドを呼び出すだけですonDraw

于 2012-05-09T14:01:47.223 に答える