gpt4 book ai didi

java - 将一个 ImageView 放置在另一个 ImageView 的特定坐标处

转载 作者:行者123 更新时间:2023-11-30 02:45:56 25 4
gpt4 key购买 nike

你好,我正在寻找解决我遇到的问题的方法,在 Android 中有没有办法将一个 ImageView 放置在另一个 ImageView 的指定坐标处?
例如,获取 ImageView A 的特定坐标(假设死点),然后将 ImageView B 放置在 ImageView A 的坐标上。导致 ImageView B 被放置在 ImageView B 中间的死点。然后允许我改变坐标以在 ImageView A 内移动 ImageView B。

最佳答案

我的想法是用一个RelativeLayout将两者的左上角对齐,然后用padding抵消最上面的一个。因此,将 im2 放在 im1 的 x=20,y=15 处:

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@id/+im1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@id/+im2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/im1"
android:layout_alignLeft="@id/im1"
android:paddingTop="15px"
android:paddingLeft="20px" />
</RelativeLayout>

您可以通过 ImageView.setPadding 从代码更新填充.

您可以对边距进行同样的尝试,但是很难从代码中弄乱边距。

还有一个长期弃用的 AbsoluteLayout ,但我不建议使用它,创建自己的布局管理器可能更容易,它并不难,可以很好地封装计算偏移量的代码。

编辑:使用上面的方法(填充或者可能是边距,如果你需要负数)你可以移动图像并仍然让 x/y 由布局计算。

如果你想让两张图片都居中,只需将 android:layout_centerInParent="true" 添加到 RelativeLayout 中。

虽然如果你想移动它,我建议使用 Canvas 在上面绘制你的“ Actor ”,然后将 Canvas 设置为在单个 ImageView 中显示;或代替 Canvas 在问题的评论中使用建议的库。

关于java - 将一个 ImageView 放置在另一个 ImageView 的特定坐标处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25032784/

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