增加一个按钮';s在Android中按下时的大小

增加一个按钮';s在Android中按下时的大小,android,button,size,pressed,Android,Button,Size,Pressed,我怎样才能使按钮的大小在按下时略微增大,在松开时再次减小?这是为了突出显示按下的按钮,除了使用不同的颜色外,还可以使用大小 问候,, Kiki将您的按钮设置为一个字段,并在与其关联的OnTouchListener中修改其大小。使用OnTouchListener,您可以在活动中侦听不同的运动事件,例如动作向下和动作向上 Private Button myButton; //... protected void onCreate(Bundle savedInstanceState) { //.

我怎样才能使按钮的大小在按下时略微增大,在松开时再次减小?这是为了突出显示按下的按钮,除了使用不同的颜色外,还可以使用大小

问候,,
Kiki

将您的
按钮
设置为一个字段,并在与其关联的
OnTouchListener
中修改其大小。使用OnTouchListener,您可以在活动中侦听不同的
运动事件,例如
动作向下
动作向上

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);
        }
      });
    }
button.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
RelativeLayout.LayoutParams LayoutParams=(RelativeLayout.LayoutParams)v.getLayoutParams();
//转换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\u向下){
layoutParams.width=宽度+5;
layoutParams.height=高度+5;
SearchButton.setLayoutParams(layoutParams);
}
if(event.getAction()==MotionEvent.ACTION\u UP){
layoutParams.width=宽度;
layoutParams.height=高度;
SearchButton.setLayoutParams(layoutParams);
}
返回false;
}
});
自API 21(棒棒糖)以来,基于该属性可以使用仅xml的解决方案。即使其主要目标是根据状态更改设置视图属性的动画,如果需要,也可以通过设置
duration=“0”
禁用动画。例如:


...

关于动画比例还有两个类似的问题:


但我的问题是按下按钮时增加按钮大小,松开按钮时恢复正常大小。然后使用ontouch侦听器。在这种情况下,您需要定义Motionevent.On激活。行动起来。等
//Try it

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(myButton.getWidth()+5);
        myButton.setHeight(myButton.getHeight()+5);
        }
      });
    }