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抱歉我应该编辑一下。我的意思是,它不是从我调整大小的相同大小开始的