【问题标题】:ListView Not Showing Below RelativeLayoutListView 未显示在相对布局下方
【发布时间】:2011-05-25 16:01:33
【问题描述】:

这是一个相当奇怪的问题,无论我盯着它看多少次,我似乎都无法解决(所以它可能有一个明显的答案)。问题是,当我在布局XML 文档中有我的RelativeLayout/ActionBar 时,调试时下面的ListView 不想出现在屏幕上。这是我的XML

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

      <RelativeLayout 
           android:orientation="horizontal" 
           android:layout_width="fill_parent"
           android:layout_height="50dip" 
           android:background="#4a8bcc" android:id="@+id/relLayout" >

               <TextView 
                    android:layout_width="wrap_content" 
                    android:layout_centerVertical="true"
                    android:textSize="7pt"
                    android:textColor="#ffffff"
                    android:textStyle="bold" 
                    android:layout_height="wrap_content"
                    android:text="List" android:padding="8dp" />

            <!-- A dividing line -->
               <ImageView 
                    android:layout_width="1px" 
                    android:src="#ffffffff"
                    android:layout_height="wrap_content" 
                    android:text="@string/hello"
                    android:id="@+id/bordertwo" 
                    android:layout_toLeftOf="@+id/refresh"
                    android:layout_marginRight="12dip" 
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentTop="true" />

         <!-- share button -->
              <ImageView 
                    android:layout_width="25dip" 
                    android:src="@drawable/ic_title_share_default"
                    android:layout_height="25dip" 
                    android:text="@string/hello"
                    android:layout_marginRight="12dip" 
                    android:layout_centerVertical="true"
                    android:id="@+id/refresh" 
                    android:layout_toLeftOf="@+id/borderone"
                    android:scaleType="fitXY" />

           <!-- A dividing line -->
              <ImageView 
                    android:layout_width="wrap_content" 
                    android:src="#ffffffff" 
                    android:layout_height="wrap_content"
                    android:id="@+id/borderone"  
                    android:layout_alignParentTop="true"
                    android:layout_marginRight="12dip" 
                    android:layout_alignParentBottom="true"
                    android:layout_alignBottom="@+id/search"  
                    android:text="@string/hello"
                    android:layout_toLeftOf="@+id/search" />

            <!-- Add friend -->
             <ImageView 
                    android:src="@drawable/ic_title_add_default" 
                    android:text="@string/hello"
                    android:layout_width="25dip" 
                    android:layout_alignParentRight="true"
                    android:layout_centerVertical="true"  
                    android:id="@+id/search"
                    android:layout_marginRight="12dip" 
                    android:layout_height="25dip"
                    android:scaleType="fitXY" />
     </RelativeLayout>

     <LinearLayout 
          android:orientation="horizontal"             
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:background="#4a8bcc" android:id="@+id/linLayout" 
          android:visibility="visible">

          <ListView 
               android:id="@+id/ListView01"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent" />
      </LinearLayout>
</LinearLayout>

【问题讨论】:

    标签: android xml android-layout listview android-relativelayout


    【解决方案1】:
     android:orientation="vertical"
    

    在两个 LinearLayout (s) 你真的不需要第二个,因为它只有一个孩子。但是如果你必须设置 weight=1 就可以了。 ListView 应该是这样的(在你放弃 LinearLayout 之后)

    <ListView
                android:id="@+id/ListView01"
                android:layout_width="fill_parent"
                android:layout_height="0dip"
                android:layout_weight="1.0"
                />
    

    在此处阅读有关布局的更多信息 http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html

    如果您仍然想用布局来包装您的列表,请遵循此示例 http://developer.android.com/resources/samples/ApiDemos/res/layout/list_8.html

    【讨论】:

      【解决方案2】:

      为什么您的ListView 包含在LinearLayout 中?大小设置为wrap_content?这没有多大意义。直接添加ListView,设置layout_height="fill_parent"即可。这应该会导致它占用所有可用空间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-25
        • 2021-06-03
        • 1970-01-01
        • 2015-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多