2012-03-07 15 views
0

實際上,我有一個圖像和一個onclicklistener,圖像像一個按鈕。最好的策略是擁有一個按鈕,當手指按下時它有一個圖像,當沒有時,另一個圖像?

我需要爲手指按下按鈕時添加另一個圖像。我認爲要做到這一點:

movement.setOnClickListener(new OnClickListener() { 
       public void onClick(View v) { 
        if (movement_mode){ 
         movement_mode=false; 
         movement.setImageBitmap(Util.loadImage("/desplaz_inactivo"));     
        } 
        else{ 
         movement_mode=true; 
         movement.setImageBitmap(Util.loadImage("/desplaz_activo")); 
        } 
       } 
      }); 

但我認爲,這不是實現它一個公平的方式...我認爲必須有另一種方便,快捷的方式來實現這一目標。

請告訴我非XML策略,我編程時不使用XML文件進行佈局。

感謝

+1

http://stackoverflow.com/a/8518266/1012284 – 2012-03-07 16:19:46

+0

感謝,這正是我需要的 – NullPointerException 2012-03-07 16:38:19

回答

0

解決:

pagelist= new ImageButton(this); 
     selector(pagelist, R.drawable.but_pagelist_up,R.drawable.but_pagelist_down); 
     rl.addView(pagelist); 

public void selector(ImageButton b, int normal_image, int pressed_image) 
    { 
     StateListDrawable states = new StateListDrawable(); 
     states.addState(new int[] {android.R.attr.state_pressed}, 
      getResources().getDrawable(pressed_image));   
     states.addState(new int[] { }, 
      getResources().getDrawable(normal_image));  
     b.setBackgroundDrawable(states); 
    } 
相關問題