0

这是我的 MainActivity 哪个 Activity

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 回答