RelativeLayout背景图片+颜色

时间:2011-09-30 13:31:03

标签: java android image background relativelayout

我有一个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空间的整个图像上留下黑色背景。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我会将RelativeLayout的背景设为黑色,然后将Image放入ImageView并将其置于RelativeLayout中间,这样:

<RelativeLayout
    android:background="@color/yourBlackColor">

    <ImageView
        android:layout_centerInParent="true">
    </ImageView>

</RelativeLayout>

希望这有助于你

答案 1 :(得分:0)

另一个选择是使用9补丁图像。实际上,您可以在9幅贴图上放置多个可伸缩区域,这样您只需将想要居中的图像放在中间区域,然后将其作为背景颜色包围在您想要的黑色中。然后在声明可伸展区域时,选择图像上方,下方和左侧和右侧的区域为可伸缩区域。当应用程序拉伸区域时,它会均匀地拉伸它们,这样只要可伸展区域的大小相同,图像就会保持在中心位置。

我知道这已经有了一个可接受的答案,但我认为这是完成同样事情的另一种巧妙的方式,而无需在布局中添加另一个图像视图。