问题描述
- RelativeLayout 布局问题!
-
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="100dp" android:layout_below="@+id/list" android:layout_centerHorizontal="true" android:orientation="horizontal" > <TextView android:id="@+id/UserIDStatic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/UserID" /> . . . </LinearLayout> </RelativeLayout>
如上所示的布局,当list中条目太多,超过一屏的时候,向下拖动,看不到下面的LinearLayout的内容了,该怎么解决?
解决方案
<?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"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</ListView>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal" >
<TextView
android:id="@+id/UserIDStatic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="wsws" />
</LinearLayout>
</LinearLayout>
解决方案二:
把代码改成这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="100dp" > <!-- use a definate dimension here -->
</ListView>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_below="@+id/list"
android:layout_centerHorizontal="true"
android:orientation="horizontal" >
<TextView
android:id="@+id/UserIDStatic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/UserID" />
.
.
.
</LinearLayout>
</RelativeLayout>
或者把 ListView 和 LinearLayout 放在 ScrollView
或者按照下面的方法
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1"
android:orientatio="verticle" >
<ListView
android:id="@+id/list"
android:layout_weight="0.5"
android:layout_width="match_parent"
android:layout_height="0dp" >
</ListView>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="0.5"
android:orientation="horizontal" >
<TextView
android:id="@+id/UserIDStatic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/UserID" />
.
.
.
</LinearLayout>
</LinearLayout>
解决方案三:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<ListView android:id="@android:id/list"
style="?android:attr/listViewWhiteStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"
android:scrollbarStyle="insideOverlay"
android:listSelector="#00000000"
android:cacheColorHint="@android:color/white"
android:fadingEdgeLength="16dip" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:gravity="bottom"
android:layout_height="wrap_content" >
<TextView
android:layout_width="match_parent"
android:gravity="bottom"
android:layout_height="wrap_content"
android:text="akdsflksfopiapdofaipo" />
</LinearLayout>
</LinearLayout>
这样应该可以,主要想法是让你的下面的布局不要和listview平级,所以给listview外面加上一个布局,加的这个布局和下面布局平级。
时间: 2024-10-05 12:00:23