如果使用RelativeLayout,则不设置背景图像

时间:2013-09-13 10:13:56

标签: java android background relativelayout

我在设置RelativeLayout的背景图像时遇到问题。我有以下布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_relative_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
</RelativeLayout>

问题是,背景图像显示在模拟器中,但不在手机本身上。这是一个Galaxy S4。有什么建议吗?

5 个答案:

答案 0 :(得分:1)

使高度和宽度fill_parent:

android:layout_width="fill_parent"
    android:layout_height="fill_parent"

答案 1 :(得分:0)

 android:layout_width="wrap_content"
 android:layout_height="wrap_content"

更改此项,在dp中添加宽度和高度,然后在移动设备中查看 像:

 android:layout_width="300dp"
 android:layout_height="300dp"

在res文件夹中创建可绘制文件夹复制粘贴该文件夹中的所有图像。然后您可以在所有分辨率和所有设备中查看所有图像。

答案 2 :(得分:0)

您是否尝试过使用match_parent,因为在API级别8+上不推荐使用fill_parent。 还要检查您插入了背景可绘制的包。

由于

答案 3 :(得分:0)

Pratik在此评论中解决了我的问题:

Background image not set if using RelativeLayout

谢谢!

答案 4 :(得分:0)

将图像放在drawable-xxhdpi中。 Android可针对高/低分辨率设备放大/缩小图像。它可以有效地缩小图像,但在扩大图像时会出现内存问题。当您将图像资源保存在高分辨率可绘制文件夹(即drawbale-xxhdpi)时,它不需要缩放它们。希望这会有所帮助。