将背景图像添加到 RelativeLayout 隐藏所有其他元素

Adding a background image to RelativeLayout hide all others elements

我有一个简单的XML:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".LoginActivity"
    android:background="@drawable/login_background">


    <LinearLayout
        android:orientation="vertical"
        android:layout_width="320dp"
        android:layout_height="160dp"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="218dp"
        android:layout_marginBottom="25dp">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/editText"
            android:textColor="@color/surtimax_gris_texto"
            android:layout_gravity="center_horizontal"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:textStyle="bold"
            android:hint="@string/login_edittext_user_text"
            android:textColorHint="@color/surtimax_gris_texto" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/editText2"
            android:background="@drawable/login_edittext_background"
            android:textColor="@color/surtimax_gris_texto"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="15dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:textStyle="bold"
            android:hint="@string/login_edittext_pass_text"
            android:textColorHint="@color/surtimax_gris_texto" />
    </LinearLayout>
</RelativeLayout>

问题是:当 RelativeLayout 有背景时在模拟器或真实设备中都没有显示 LinearLayout 和 EditText。
如果我只是删除背景一切正常......这很奇怪。

不是关于应用程序的错误日志。

minSdkVersion 17
targetSdkVersion 22

已更新 它使用正常背景图像(非 9patch)。所以问题是关于背景9patch图像。

已更新 2 在 SO 中有很多关于在后台使用 9patch 的 questions/answers,但是因为我面临的问题是应用背景,所以我开始在 google 中寻找 "background image problems"。当然 google 中的 none 会给我任何有用的答案。当凯给我关于问题的建议时,我很容易找到问题所在。所以我不会结束这个问题,因为它可以帮助某人通过。

问题是您的背景设置有 9patch 图像,该图像未定义拉伸区域(左角和上角)和可绘制区域(右角和下角)。

解决方案是修改 9patch 图像以包含必要的信息,或者将填充设置为 0(XML 中的 android:padding="0dip" 或代码中的 setPadding(0))。