gpt4 book ai didi

android - ViewDragHelper - 拖动时忽略子布局更改

转载 作者:IT老高 更新时间:2023-10-28 23:36:10 28 4
gpt4 key购买 nike

我正在尝试将边距更新或动画应用于使用 ViewDragHelper 拖动父级的 subview 。

但是,更新的布局属性没有效果,并且在拖动 View 时不会呈现。拖动时忽略从添加和删除 View 到布局动画或布局参数更新的所有内容:

为了说明这个问题,我创建了一个延迟的可运行对象,它会在 3 秒后更新 View (绿色 View )的高度:

spacer.postDelayed(new Runnable() {
@Override
public void run() {
Log.d(TAG,"set layout params!!!!");
ViewGroup.LayoutParams spacerParams = spacer.getLayoutParams();
spacerParams.height = (int) (200+(Math.random()*200));
spacer.setLayoutParams(spacerParams);
}
},3000);

查看此演示屏幕录像: http://imgur.com/a/dDiGt

最佳答案

Android 仅在进行布局传递时才准备好 LayoutParams,而在移动 View 时不会发生这种情况。如果你想在 View 动画时改变它的大小,你应该使用 setScale 代替。如果您确实需要您的 View 重新运行其布局,您可以手动调用 layout(left, top, right, bottom)

关于android - ViewDragHelper - 拖动时忽略子布局更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38692897/

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