Java 在Android中,如何在图像前显示图像按钮?
我真的是一个编程新手,我有一个问题,我一直在做一个游戏,所有的边框和背景都是图像,我一直试图找到一个远离显示图像按钮,这样我可以做一个设置菜单,但我不知道下一步要做什么请帮助。我就是这样扣的Java 在Android中,如何在图像前显示图像按钮?,java,android,Java,Android,我真的是一个编程新手,我有一个问题,我一直在做一个游戏,所有的边框和背景都是图像,我一直试图找到一个远离显示图像按钮,这样我可以做一个设置菜单,但我不知道下一步要做什么请帮助。我就是这样扣的 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activit
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton myButton = new ImageButton(this);
myButton.setImageResource(R.drawable.settings);
myButton.setId(1);
RelativeLayout myLayout = new RelativeLayout(this);
RelativeLayout.LayoutParams buttonParams =
new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
myLayout.addView(myButton, buttonParams);
setContentView(myLayout);
myButton.setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
onButtonClick(v);
}
});
}
public void onButtonClick(View v) {
//do something when button is clicked.
PopupMenu popup = new PopupMenu(this, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.contextitems, popup.getMenu());
popup.show();
}
这就是我显示图像的方式
@Override
public void draw(Canvas canvas) {
final float scaleFactorX = getWidth() / (WIDTH * 1.f);
final float scaleFactorY = getHeight() / (HEIGHT * 1.f);
if (canvas != null) {
final int savedState = canvas.save();
canvas.scale(scaleFactorX, scaleFactorY);
bg.draw(canvas);
if (!dissapear) {
player.draw(canvas);
}
//draw smokepuffs
for (Smokepuff sp : smoke) {
sp.draw(canvas);
}
//draw missiles
for (Missile m : missiles) {
m.draw(canvas);
}
//draw topborder
for (TopBorder tb : topborder) {
tb.draw(canvas);
}
//draw botborder
for (BotBorder bb : botborder) {
bb.draw(canvas);
}
//draw explosion
if (started) {
explosion.draw(canvas);
}
drawText(canvas);
canvas.restoreToCount(savedState);
}
}
您必须使用图层列表(可绘制)
以编程方式生成ImageButton有什么原因吗?为什么你不能通过XML添加它?我在遵循一个教程,他就是这样做的。他没有说为什么你可以将activity\u main
layout XML添加到你的问题中?主编程和所有的工作都在主活动的一个单独的类中完成,而activite\u main layout XML没有做任何相反的事情在setContentView(R.layout.activity_main)行执行某些操作代码>。如果您想“覆盖”主内容视图,我想我们需要查看它。您是否尝试过此yourButton.setBackgroundResource(R.drawable.new_image)代码>
<bitmap
android:src="@drawable/your_photo"
android:gravity="center" />