繁体   English   中英

如何在TouchEvent上更改位图资源

[英]How To Change The Bitmap Resource On TouchEvent

这应该简单易行吗?!
所以,我有一个Gameobject作为Button我在GamePanel上引用它,它扩展了SurfaceView如下所示:

bby = new Buttons(BitmapFactory.decodeResource(getResources(), R.drawable.babybutton),123 ,114 ,1);    

bby被绘制并且工作正常,
我的问题是如何在Touch上将资源(R.drawble.babybutton)更改为不同的资源(例如(R.drawble.babybutton2)?

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

如果你想在surfaceview上触摸按钮的drawable。 您可以在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)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM