如何将图像设置为RelativeLayout背景

时间:2012-07-31 10:50:36

标签: android relativelayout

我的RelativeLayout里面有Button个。{/ p>

一个Button具有layout_alignParentLeft="true"属性,另一个按钮具有layout_alignParentRight="true"

我想在RelativeLayout上设置背景,在中间显示图像。我的drawable中有一个play.9.png并使用以下代码:

<RelativeLayout
    android:id="@+id/relativeLayout12"
    android:layout_width="fill_parent"
    android:layout_height="70dp" 
    android:background="@drawable/play" // background line
 >

    <Button
        android:id="@+id/bAbout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="but1" />

    <Button
        android:id="@+id/bSync"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="but2" />
</RelativeLayout>

但是当我使用背景线时,我的Button会错过他们的位置

见下图 enter image description here

但我希望我的RelativeLayout是这样的:

enter image description here

有什么问题?

4 个答案:

答案 0 :(得分:5)

最后我这样做了 我用了这段代码:

<RelativeLayout
    android:id="@+id/relativeLayout12"
    android:layout_width="fill_parent"
    android:layout_height="70dp" 
    android:background="@drawable/play" // background line
 >

    <Button
        android:id="@+id/bAbout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="but1" />

    <ImageView
         android:layout_width="fill_parent"
         android:layout_height="match_parent"
         android:scaleType="fitXY"
         android:src="@drawable/play" />

    <Button
        android:id="@+id/bSync"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="but2" />
</RelativeLayout>

我的结果如下:

enter image description here

这是有效的。谢谢大家

答案 1 :(得分:0)

<RelativeLayout
android:id="@+id/relativeLayout12"
android:layout_width="fill_parent"
android:layout_height="70dp" 
android:background="@drawable/play" // background line
>

<Button
    android:id="@+id/bAbout"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="but1" />

<Button
    android:id="@+id/bSync"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="but2" />
</RelativeLayout>

答案 2 :(得分:0)

我认为你应该删除

 android:layout_alignParentBottom="true"
 android:layout_alignParentTop="true"
从两个按钮

并将按钮高度设置为'fill_parent'。

答案 3 :(得分:0)

试试这个。

RelativeLayout rLayout = (RelativeLayout) findViewById (R.id.rLayout);
   Resources res = getResources();
   Drawable drawable = res.getDrawable(R.drawable.newImage);added to the res folder

    rLayout.setBackground(drawable);