listview與其他控制元件的佈局問題
阿新 • • 發佈:2019-02-19
(一)在LinearLayout中定義一個listview和button:
若button在上,listview在下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom ="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.listviewtest.MainActivity" >
<Button
android:id ="@+id/button"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="new"
/>
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@android:color/darker_gray"
android:scrollbars="none" >
</ListView>
</LinearLayout>
效果為下:
如果是listview在上,button在下(有可能遇到異常,先clear project再次執行):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.listviewtest.MainActivity" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@android:color/darker_gray"
android:scrollbars="none" >
</ListView>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="new"
/>
</LinearLayout>
效果如下:
結果可以看到,button並沒有顯示出來,解決方法是用RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.listviewtest.MainActivity" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@android:color/darker_gray"
android:scrollbars="none" >
</ListView>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="new"
android:layout_alignParentBottom="true" />
</RelativeLayout>
結果為:
注意加上layout_alignParentBotton = “true”
button正常顯示了,不過button是懸在最下面的位置上的
而button在listview上面也可以用RelativeLayout來實現,這裡就不展示了
最後,如果遇到執行時異常,可以嘗試clear project後再次執行。