如何在TouchEvent上更改位图资源

时间:2016-04-28 16:48:39

标签: java android bitmap resources surfaceview

这应该简单易行吗?!
所以,我有一个BusAttachment.cc作为Button我在Gameobject上引用它,其范围GamePanel就像这样:

SurfaceView

bby = new Buttons(BitmapFactory.decodeResource(getResources(), R.drawable.babybutton),123 ,114 ,1); 被绘制并正常工作,
我的问题是如何在Touch上将资源(R.drawble.babybutton)更改为例如(R.drawble.babybutton2)的不同资源?

就像按下按钮动画一样! 提前谢谢你 (如果我的问题看起来很愚蠢,请不要讨厌!我对此很新)。

2 个答案:

答案 0 :(得分:0)

如果您想要更改按钮在Surfaceview上的触摸可绘制。你可以在surfaceview类中覆盖这个方法。

@Override
public boolean onTouch(View v, MotionEvent event) {
    switch(event.getAction()){
    case MotionEvent.ACTION_DOWN:
        //here you can set an another drawable to your button or can do something else
        break;
    }
    return true;
}

在您的活动中,在surfaceview上设置touchListener。 初始化surfaceView之后。将此surfaceview传递给

surfaceView.setOnTouchListener(surfaceView)

答案 1 :(得分:0)

我可能误解了你,但是如果你想改变按钮的资源,你就应该这样做:

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                button.setBackgroundResource(R.drawable.icon);
            }
        });
    }
});
相关问题