如何将图像放在另一个图像视图中
Posted
技术标签:
【中文标题】如何将图像放在另一个图像视图中【英文标题】:How to Put image inside another image view 【发布时间】:2020-06-11 06:56:46 【问题描述】:我想将贴纸视图完全放在图像视图内(它不应该超出图像边界)
图像视图由用户上传,因此它不能是固定尺寸。如果需要,我可以调整贴纸尺寸当前贴纸尺寸 (540x670)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical">
<RelativeLayout
android:layout_
android:layout_
android:layout_weight="1">
<RelativeLayout
android:id="@+id/relativemain"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:gravity="center">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:indeterminateDrawable="@drawable/progress"
android:visibility="gone" />
<ImageView
android:id="@+id/ic_img"
android:layout_
android:layout_
android:background="@color/blue_900"
android:layout_centerInParent="true"
/>
<com.A.B.C.StickerView.StickerView
android:id="@+id/stickerView"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:layout_gravity="center"
android:visibility="visible" />
</RelativeLayout>
</RelativeLayout>
【问题讨论】:
我不确定我是否完全遵循。哪个图像需要遍历哪个图像?无论如何,基本的想法是使用FrameLayout
来包装 ImageView
,然后在其中添加第二个。
灰色图像(贴纸视图)应在图像视图(海图)中可见。图像中标记的白色部分应不可见。
是的,好吧,现在更清楚了。只需创建一个像 FrameLayout
这样的容器布局,该布局将与图像 (wrap_content
) 的大小完全相同,然后在其中添加 StickerView
哪个布局应该替换为 FrameLayout(相对或线性)
它成功了,谢谢(请将其作为答案发布,以便我接受)
【参考方案1】:
由于我的评论帮助解决了问题,所以我将在答案中发布。
只需创建一个像
FrameLayout
这样的容器布局,该布局将与图像 (wrap_content
) 的大小完全相同,然后在其中添加StickerView
。
类似这样的:
<FrameLayout
android:layout_
android:layout_>
<ImageView
android:id="@+id/ic_img"
android:layout_
android:layout_
android:background="@color/blue_900"
android:layout_centerInParent="true"
/>
<com.A.B.C.StickerView.StickerView
android:id="@+id/stickerView"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:layout_gravity="center"
android:visibility="visible" />
</FrameLayout>
【讨论】:
【参考方案2】:尝试使用约束布局,并将贴纸的约束设置到图像视图的内部。
【讨论】:
以上是关于如何将图像放在另一个图像视图中的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 react-native 将图像放在相机视图的顶部