Android 使用onTouchListener调整视图大小

Android 使用onTouchListener调整视图大小,android,resize,ontouchlistener,Android,Resize,Ontouchlistener,您好,我正在创建一个应用程序,当我开始拖动一个指定用于调整大小的按钮时,它将简单地调整视图的大小 要调整大小的布局声明为:resizeAbleLayout,用于拖动以调整布局大小的按钮声明为:btnResize 我已经能够调整视图的大小,但当我调整完视图的大小,并再次开始调整它的大小时,它不会开始从我留下的大小调整大小 我的问题是,如何才能保存视图最后一次调整大小的位置,并平滑地调整其大小,而不会突然出现反光D 这是我用于btnResize的代码: btnResize.setOnTouchL

您好,我正在创建一个应用程序,当我开始拖动一个指定用于调整大小的按钮时,它将简单地调整视图的大小

要调整大小的布局声明为:
resizeAbleLayout
,用于拖动以调整布局大小的按钮声明为:
btnResize

我已经能够调整视图的大小,但当我调整完视图的大小,并再次开始调整它的大小时,它不会开始从我留下的大小调整大小

我的问题是,如何才能保存视图最后一次调整大小的位置,并平滑地调整其大小,而不会突然出现反光D

这是我用于btnResize的代码:

  btnResize.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int x=(int)event.getX();
            int y=(int)event.getY();
                switch (event.getAction()){
                    case MotionEvent.ACTION_MOVE:
                        resizeAbleLayout.getLayoutParams().width = x;
                        resizeAbleLayout.getLayoutParams().height = y;
                        resizeAbleLayout.requestLayout();
                        break;
                }
            return true;
        }
    });

提前感谢您的帮助!:D

尝试使用
+=
-=
以避免使用
=

switch (event.getAction()){
     case MotionEvent.ACTION_MOVE:
     resizeAbleLayout.getLayoutParams().width += x/Math.abs(x);
     resizeAbleLayout.getLayoutParams().height += y/Math.abs(y);
     resizeAbleLayout.requestLayout();
     break;
}

你说突然萎缩是什么意思?@KhalidTaha抱歉我应该编辑一下。我的意思是,它不是从我调整大小的相同大小开始的