我有一个RelativeLayout
,我需要在其中间有一个黑色背景和一个小图像。我用了这段代码:
<RelativeLayout
android:id="@+id/bottomBox"
android:layout_weight="4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bottom_box_back"
android:layout_marginTop="4dp"
/>
@drawable/bottom_box_back
所在的位置:
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/logo_icon"
android:tileMode="disabled"
android:gravity="center"
android:filter="true"
/>
通过这种方式,我将图像置于中心位置。但背景仍然是灰色的主要窗口。我需要在RelativeLayout
空间的整个图像上留下黑色背景。有什么建议吗?
答案 0 :(得分:1)
我会将RelativeLayout的背景设为黑色,然后将Image放入ImageView并将其置于RelativeLayout中间,这样:
<RelativeLayout
android:background="@color/yourBlackColor">
<ImageView
android:layout_centerInParent="true">
</ImageView>
</RelativeLayout>
希望这有助于你
答案 1 :(得分:0)
另一个选择是使用9补丁图像。实际上,您可以在9幅贴图上放置多个可伸缩区域,这样您只需将想要居中的图像放在中间区域,然后将其作为背景颜色包围在您想要的黑色中。然后在声明可伸展区域时,选择图像上方,下方和左侧和右侧的区域为可伸缩区域。当应用程序拉伸区域时,它会均匀地拉伸它们,这样只要可伸展区域的大小相同,图像就会保持在中心位置。
我知道这已经有了一个可接受的答案,但我认为这是完成同样事情的另一种巧妙的方式,而无需在布局中添加另一个图像视图。