您好我正在寻找解决我遇到的问题的解决方案在Android中有没有办法将一个ImageView放在另一个ImageView的指定坐标上?
例如,获取ImageView A的特定坐标(比如死点),然后将ImageView B放在ImageView A的坐标上。导致ImageView B放在ImageView B中间的死点。然后允许我在Coords周围进行更改,以便在ImageView A中移动ImageView B.如果我以一种令人困惑的方式写入此内容,请致歉
答案 0 :(得分:1)
我的想法是使用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
。
虽然如果你想移动它我会建议使用画布在其上绘制你的“演员”,然后将画布设置为显示在单个ImageView
;或者画布的instaed在问题的评论中使用建议的库。