这是我的主要活动
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);
}
}
}
不建议这样做,因为按钮不会负责(我的意思是,它们在按下时不可单击或更改其状态;事实上,由您来检测何时按下按钮)。
无论如何,如果这是你想要的,你可以通过做这样的事情来做到这一点:
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
上得到的画布。