Чтобы увеличить размер кнопки при нажатии в Android - PullRequest
2 голосов
/ 23 сентября 2010

Как сделать так, чтобы размер моей кнопки немного увеличивался при нажатии и уменьшался снова при отпускании? Это для выделения нажатой кнопки, используя размер в дополнение к другому цвету.

С уважением, Kiki

Ответы [ 3 ]

2 голосов
/ 23 сентября 2010

Сделайте ваше Button полем и измените его размер в OnTouchListener, связанном с ним.С помощью OnTouchListener вы можете прослушивать различные MotionEvents, например ACTION_DOWN и ACTION_UP.

1 голос
/ 19 мая 2016

button.setOnTouchListener (новый 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;
        }
    });
0 голосов
/ 23 сентября 2010

В вашей деятельности

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);
        }
      });
    }
...