Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中,如何在图像前显示图像按钮?_Java_Android - Fatal编程技术网

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" />