Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android调整视图大小不平滑_Android_Resize - Fatal编程技术网

Android调整视图大小不平滑

Android调整视图大小不平滑,android,resize,Android,Resize,我有一个自定义的图像视图和一个按钮,单击按钮,上下移动可调整图像视图的大小,但它运行不平稳 我创建了一个单独的线程来平滑用户移动,但显然它无法对GUI进行任何更改。。我试图找到一种方法来使用动画,但没有找到一种方法来持续更新目标高度 工作代码 点击按钮,点击监听器: //调整按钮开始位置的大小 private PointF startResize=new PointF(); ImageView resize=(ImageView)findViewById(R.id.resize); resize

我有一个自定义的
图像视图
和一个
按钮
,单击
按钮
,上下移动可调整
图像视图的大小
,但它运行不平稳

我创建了一个单独的线程来平滑用户移动,但显然它无法对GUI进行任何更改。。我试图找到一种方法来使用
动画
,但没有找到一种方法来持续更新目标高度

工作代码
点击按钮,点击监听器:

//调整按钮开始位置的大小
private PointF startResize=new PointF();
ImageView resize=(ImageView)findViewById(R.id.resize);
resize.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
开关(event.getAction()&MotionEvent.ACTION\u掩码){
case MotionEvent.ACTION\u DOWN:
//保存第一次触摸位置
set(boardImage.getHeight(),event.getY());
打破
case MotionEvent.ACTION\u移动:
//计算水平移动距离
int movedInstance=Math.round(event.getY()-startResize.y);
如果(数学绝对值(移动距离)>4){
//再创新高
boardImage.setHeight(movedDistance+(int)startResize.x);
}
打破
}
返回true;//指示事件已处理
}
});
自定义图像视图
设定高度:

//设置高度和重新验证
公共空间设置高度(int newHeight){
高度=新高度;
//重缩放图像
setImageMatrix(checkMatrix());
requestLayout();
}
测量:

@覆盖
测量时的公共空隙(int-widthMeasureSpec,int-heightMeasureSpec){
设置测量尺寸(宽度、高度);
}
编辑更好的解释

触摸红色包围的
按钮
并将其上下拖动可将其上方的
图像视图
调整为任意给定大小。见下图

我试图使用一个
动画
,但我不得不取消它,并设置一个新的动画,每做一个微小的动作,就会导致每秒创建20/30个新动画


(来源:)


(来源:)