Android:TextView没有出现在ListView下面

时间:2014-05-28 03:55:23

标签: android xml listview textview

我查了一个类似的问题,但它没有解决我的问题。

从上到下,我试着显示:

  • 一个TextView(标题)
  • 一个ListView,右边有一个索引条(我对这一对使用水平LinearLayout)
  • 一个TextView(页脚)

除了我的页脚TextView外,所有内容都会显示。

有人可以告诉我我的XML有什么问题吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"    
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/tvHeader"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:background="#00F"
        android:textColor="@android:color/white"
        android:textStyle="bold" />

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

        <ListView
            android:id="@android:id/list"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:fastScrollEnabled="true" />

        <LinearLayout
            android:id="@+id/sideIndex"
            android:layout_width="40dip"
            android:layout_height="wrap_content"
            android:background="#FFF"
            android:gravity="center_horizontal"
            android:orientation="vertical" >
        </LinearLayout>

    </LinearLayout>

    <TextView
        android:id="@+id/tvFooter"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:background="#0F0"
        android:textColor="#F00"
        android:textStyle="bold" />

</LinearLayout> 

5 个答案:

答案 0 :(得分:2)

试试这个..

android:layout_height="wrap_content"更改为android:layout_height="0dp"并为中间android:layout_weight = "1"添加LinearLayout

改变这个..

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

<LinearLayout 
      android:layout_width="fill_parent"
      android:orientation="horizontal"    
      android:layout_weight = "1"
      android:layout_height="0dp" >

<强>的LinearLayout

1)http://developer.android.com/reference/android/widget/LinearLayout.html

2)http://developer.android.com/guide/topics/ui/layout/linear.html

<强> RelativeLayout的

1)http://developer.android.com/reference/android/widget/RelativeLayout.html

2)http://developer.android.com/guide/topics/ui/layout/relative.html

答案 1 :(得分:2)

最好你尝试RelativeLayout。检查一下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<TextView
    android:id="@+id/tvHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#00F"
    android:text="TextView"
    android:textColor="@android:color/white"
    android:textStyle="bold" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/tvFooter"
    android:layout_below="@+id/tvHeader"
    android:orientation="horizontal" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:fastScrollEnabled="true" />

    <LinearLayout
        android:id="@+id/sideIndex"
        android:layout_width="40dip"
        android:layout_height="wrap_content"
        android:background="#FFF"
        android:gravity="center_horizontal"
        android:orientation="vertical" >
    </LinearLayout>
</LinearLayout>

<TextView
    android:id="@+id/tvFooter"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="#0F0"
    android:text="TextView"
    android:textColor="#F00"
    android:textStyle="bold" />

</RelativeLayout>

答案 2 :(得分:0)

将此属性添加到您的第二个Linear layout

  

android:layout_weight =&#34; 1&#34;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"    
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/tvHeader"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:background="#00F"
        android:textColor="@android:color/white"
        android:textStyle="bold" />

    <LinearLayout 
      android:layout_width="fill_parent"
      android:orientation="horizontal"    
      android:layout_height="wrap_content" 
      android:layout_weight = "1"     <!-- here -->
      >
    .......

答案 3 :(得分:0)

您可以使用RelativeLayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/tvHeader"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:background="#00F"
        android:textColor="@android:color/white"
        android:textStyle="bold" />

     <TextView
         android:id="@+id/tvFooter"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
         android:layout_alignParentLeft="true"
         android:background="#0F0"
         android:text="TextView"
         android:textColor="#F00"
         android:textStyle="bold" />
        <LinearLayout 
      android:layout_width="fill_parent"
      android:layout_below="@+id/tvHeader"
      android:layout_above="@+id/tvFooter"
      android:orientation="horizontal"    
      android:layout_height="wrap_content" >

        <ListView
            android:id="@android:id/list"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:fastScrollEnabled="true" />

        <LinearLayout
            android:id="@+id/sideIndex"
            android:layout_width="40dip"
            android:layout_height="wrap_content"
            android:background="#FFF"
            android:gravity="center_horizontal"
            android:orientation="vertical" >
        </LinearLayout>

    </LinearLayout>

</RelativeLayout> 

答案 4 :(得分:0)

使用RelativeLayout,可以更轻松地显示或重新定位其他项目。