gpt4 book ai didi

android - Android调整大小 View 不流畅

转载 作者:行者123 更新时间:2023-11-29 19:33:52 24 4
gpt4 key购买 nike

我有一个自定义ImageViewButton,单击Button并上下移动可调整ImageView的大小,但它运行不流畅。

我创建了一个单独的线程来平滑用户移动,但显然它无法进行任何GUI更改。

工作代码
按钮onTouchListener:

 

// resize button start location
private PointF startResize = new PointF();

ImageView resize = (ImageView) findViewById( R.id.resize );
resize.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {

switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:

// save first touch location
startResize.set( boardImage.getHeight(), event.getY() );
break;
case MotionEvent.ACTION_MOVE:

// calculate horizontal move distance
int movedDistance = Math.round(event.getY() - startResize.y);

if ( Math.abs( movedDistance ) > 4 ) {

// set new height
boardImage.setHeight( movedDistance + (int)startResize.x );
}

break;
}
return true; // indicate event was handled
}
});


自定义ImageView
setHeight:

 
// set height and revalidate
public void setHeight( int newHeight ){

height = newHeight;

// rescale image
setImageMatrix( checkMatrix() );

requestLayout();
}


onMeasure:

 
@Override
public void onMeasure( int widthMeasureSpec, int heightMeasureSpec ) {

setMeasuredDimension( width, height );
}


编辑更好的解释

触摸圈出的红色 Animation并向上/向下拖动,将其上方的 Button调整为任意给定大小。参见下面的图片。

我尝试使用 ImageView,但是我必须取消它并设置一个新的小动作,使女巫每秒只能创建20/30个新动画。

zoomed layout
(来源: eightytwo.axc.nl

layout
(来源: eightytwo.axc.nl

最佳答案

没有足够的声誉来发表评论,所以我将在这里发布。
我不确定我是否了解您的全部问题。您是否看过this?

可能不完全是您要寻找的东西,但是他们使用动画“缩放”的方式可能正是您所需要的。希望能帮助到你。

编辑:

阅读更新后的问题后,我意识到我以前的答案不是您想要的。但是环顾四周,我发现了一个github-repo做你想要的事情,here

我尚未创建它,也不拥有它。但是我确实对其进行了测试,并且我认为它几乎可以完成您想要的工作。

关于android - Android调整大小 View 不流畅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39495352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com