Android 是否可以将视图组用于空ListView?

Android 是否可以将视图组用于空ListView?,android,listview,layout,Android,Listview,Layout,我有一个列表活动,其布局如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="

我有一个
列表活动
,其布局如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
  <ListView android:id="@android:id/list" android:cacheColorHint="@color/transparent" style="@style/FullWidth.NoteList" />
  <LinearLayout android:id="@android:id/empty" style="@style/FillParent">
    <ImageView style="@style/NoNotesImage" />
    <TextView android:text="@string/no_notes" style="@style/Shadowed.NoNotesText" />
    <Button android:id="@+id/note_add" android:text="@string/note_add" style="@style/Shadowed.Button.Blue"/>
  </LinearLayout>
</LinearLayout>

与此相关的样式

<?xml version="1.0" encoding="utf-8"?>
<style name="Shadowed">
  <item name="android:shadowDx">1.1</item>
  <item name="android:shadowDy">1.1</item>
  <item name="android:shadowRadius">1.1</item>
</style>
<style name="NoNotesImage">
  <item name="android:layout_width">fill_parent</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:gravity">center</item>
  <item name="android:layout_marginTop">80.5dip</item>
  <item name="android:layout_marginLeft">20dip</item>
  <item name="android:src">@drawable/bg_no_notes</item>
</style>
<style name="Shadowed.NoNotesText">
  <item name="android:layout_width">fill_parent</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:gravity">center</item>
  <item name="android:textSize">10sp</item>
  <item name="android:textColor">@color/no_notes_text</item>
  <item name="android:shadowColor">@color/no_notes_shadow</item>
</style>
<style name="FillParent">
  <item name="android:layout_width">fill_parent</item>
  <item name="android:layout_height">fill_parent</item>
</style>

1.1
1.1
1.1
填补家长的空缺
包装内容
居中
80.5倾角
20度
@可提取/背景无注释
填补家长的空缺
包装内容
居中
10便士
@颜色/无注释\u文本
@颜色/无注释\u阴影
填补家长的空缺
填补家长的空缺
但是,我的空列表视图仅由嵌套的
线性布局中首先列出的
图像视图组成


这似乎是一个合理的做法,但我还没有完全理解Android的布局规则。

好吧,我要在黑暗中试一试。LinearLayout应该可以工作,但我猜您不小心将视图推离了屏幕。我打赌LinearLayout的android:orientation被意外设置为“水平”,ImageView的布局宽度为“填充父项”;这样做将阻止TextView和按钮。您可能只需要将LinearLayout的android:orientation更改为“垂直”,它将按预期工作。

使用空视图组作为空视图是完全可能的,但由于您大量使用样式,很难判断出可能出现的问题(因此无法确定XML的实际布局)。也许你能给我们看看你用的是什么款式?此外,样式通常不用于布局宽度和布局高度等基本属性。很抱歉,我刚刚添加了我正在使用的样式。我知道这会很愚蠢。谢谢将android:orientation=“vertical”
添加到两个
LinearLayout
视图中,将其修复。