2016-04-28 23 views
1

這應該很簡單,很簡單吧?!
所以,我有一個作爲一個按鈕,我引用它在GamePanel是程度SurfaceView這樣的:如何在TouchEvent上更改位圖資源

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

bby繪製,做工精細,
我的問題是我如何改變資源(R .drawble.babybutton)添加到例如(R.drawble.babybutton2)的其他資源上?

就像按下按鈕動畫! 在此先感謝
(如果我的問題看起來很愚蠢,請不要討厭!我對此很陌生)。

+0

歡迎計算器!繪製應觸摸表面視圖就改變了。對? –

+0

可能重複[如何將Drawable轉換爲位圖?](http://stackoverflow.com/questions/3035692/how-to-convert-a-drawable-to-a-bitmap) – iYoung

+0

@DevendraSingh yes!但它不會改變 – Ethan

回答

0

如果你想改變按鈕的drawable觸摸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) 
+0

好吧,但我怎樣才能設置另一個drawable到我的按鈕?這就是我需要的 – Ethan

+0

檢查[post](http://stackoverflow.com/questions/4502605/how-to-programatically-set-drawableleft-on-android-button)。 –

0

我可能誤解了你,但如果你想改變按鈕的rescource,這是你應該怎麼做:

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

不!它不是一個Button,它是一個位圖 – Ethan