2010-09-23 5 views
1

la taille d'un bouton quand Comment puis-je faire la taille de mon bouton pour augmenter légèrement quand il est pressé et diminue à nouveau quand il est libéré? Ceci est pour mettre en évidence le bouton pressé, en utilisant la taille en plus d'une couleur différente.Pour augmenter est pressé dans Android

Cordialement, Kiki

Répondre

1

Faire votre Button un champ, et modifier sa taille dans la OnTouchListener associée. L'utilisation d'un OnTouchListener vous pouvez écouter les différents MotionEvents, tels que ACTION_DOWN et ACTION_UP.

+0

Merci, Fredley! – kiki

0

Dans votre activité

Private Button myButton; 

//... 

protected void onCreate(Bundle savedInstanceState) { 

//... 

myButton = (Button) findViewById(R.id.my_button); 
    _button.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     myButton.setWidth(50); 
     myButton.setHeight(50); 
     } 
     }); 
    } 
+0

Mais mon problème est d'augmenter la taille du bouton lorsqu'il est pressé et revenir à la taille normale lorsque le bouton est relâché. – kiki

+0

utiliser un auditeur OnTouch alors. dans u besoin de définir Motionevent.On actiion vers le haut. sur l'action vers le bas. etc. –

0

button.setOnTouchListener (nouveau View.OnTouchListener() {

 @Override 
     public boolean onTouch(View v, MotionEvent event) { 

      RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)v.getLayoutParams(); 

      //Code to convert height and width in dp. 
      int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 35, getResources().getDisplayMetrics()); 
      int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 140, getResources().getDisplayMetrics()); 

      if(event.getAction() == MotionEvent.ACTION_DOWN){ 
       layoutParams.width = width + 5; 
       layoutParams.height = height + 5; 
       SearchButton.setLayoutParams(layoutParams); 
      } 
      if(event.getAction() == MotionEvent.ACTION_UP){ 
       layoutParams.width = width; 
       layoutParams.height = height; 
       SearchButton.setLayoutParams(layoutParams); 
      } 

      return false; 
     } 
    }); 
Questions connexes