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个新动画
(来源:)
(来源:)