gpt4 book ai didi

android - View 已移动但仍在左上角

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:24 25 4
gpt4 key购买 nike

我正在向父布局添加一个自定义 View ,女巫是一个 RelativeLayout。

我还需要在屏幕上移动这个 View ,所以我这样做:

myView.layout(xx, yy, width, height);

这行得通。每次我调用它时, View 都会移动。

问题是当这个 View 被移动时,
它的副本一直卡在布局的左上角,
像这样:

enter image description here

为什么会发生这种情况,我该如何预防?

谢谢


-- 编辑--

下面是一些代码。

在我的自定义 View 的构造函数中:

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
inflater.inflate(R.layout.ipmaps_lib_balloon_overlay, this);

然后我将此 View 添加到其父 View :

final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
parentLayout.addView(myView, params);

当我需要移动 View 时,我只是这样做:

myView.layout(startX, startY, width, height);
myView.invalidate

最佳答案

根据documentation , layout 方法应该用在 View 组中 View 放置的 onLayout 阶段。如果您想暂时将 View 移动到另一个位置,请使用 offsetLeftAndRight(int offset)offsetTopAndBottom(int offset)。

如果这没有帮助,您将不得不为 View 设置 setLayoutParams

RelativeLayout.LayoutParams params = view.getLayoutParams();
params.setMargins(int left, int top, int right, int bottom);
view.setLayoutParams(params);

关于android - View 已移动但仍在左上角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309642/

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