【问题标题】:How to set an image to RelativeLayout Background如何将图像设置为相对布局背景
【发布时间】:2012-07-31 10:50:36
【问题描述】:

我有一个 RelativeLayout,里面有 2 个 Buttons。

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

我想在我的 RelativeLayout 上设置一个背景,在中间显示一个图像。我的可绘制对象中有一个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>

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

见下图

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

怎么了?

【问题讨论】:

  • 你能上传play.9.png图片吗?即使你的代码对我来说也很好

标签: android android-relativelayout


【解决方案1】:

我终于做到了,伙计们 我使用了这个代码:

<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>

我的结果是这样的:

这行得通。谢谢大家

【讨论】:

    【解决方案2】:
    <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>
    

    【讨论】:

    • 不,它不起作用。不幸的是,我的按钮水平位置也错过了
    • 尝试将按钮布局高度设置为 70dp
    【解决方案3】:

    我认为你应该删除

     android:layout_alignParentBottom="true"
     android:layout_alignParentTop="true"
    

    从两个按钮开始,并将按钮高度设置为“fill_parent”。

    【讨论】:

      【解决方案4】:

      试试这个。

      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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-05
        • 2016-03-23
        • 1970-01-01
        • 2013-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多