背景图像导致第二线性布局消失

时间:2011-04-15 19:36:19

标签: android android-layout

我有一个看起来像这样的布局

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical"
  style="@style/Splash">

  <TextView android:id="@+id/splash_title" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        style="@style/Splash.H1"
        android:text="@string/splash_title"/>

  <LinearLayout android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal">

    <ImageView 
        android:id="@+id/splash_image"
        android:src="@drawable/ic_launcher_ftnicon"
        style="@style/Splash.Image"/>

    <TextView android:id="@+id/splash_powered_by" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        style="@style/Splash.H2"
        android:text="@string/splash_powered_by"/>
</LinearLayout>

</LinearLayout>

我的风格看起来像这样

<style name="Splash">
    <item name="android:gravity">center</item>
    <item name="android:background">#FFFFFF</item>
</style>

当我将背景更改为drawable时,如下所示:

<style name="Splash">
    <item name="android:gravity">center</item>
    <item name="android:background">@drawable/bg_splash</item>
</style>

第二个线性布局完全消失。显示背景图像,标题的文本视图显示。

1 个答案:

答案 0 :(得分:1)

以下是我的想法。

你的@ drawable / bg_splash是一个全屏图像。

请记住,对于样式,所有子项都将继承父项的设置(即。Splash.H1也将具有与Splash相同的背景)。这意味着所有视图的背景将设置为相同的全屏图像。通过布局您定义的方式,将显示的唯一视图是“@ + id / splash_title”文本视图。线性布局将被迫离开屏幕到底部。