我有一個列表視圖,它是一個活動的一部分。我希望用戶可以選擇批量刪除列表視圖中的項目,因此當他從菜單中選擇相應的選項時,每個列表項目都會在其旁邊有一個複選框。當用戶單擊任何複選框時,按鈕欄將從底部向上滑動(如在gmail應用程序中)並單擊刪除按鈕刪除所選項目,但單擊欄上的取消按鈕將取消選中所有選中的項目。底部按鈕欄與Listview的最後一個元素重疊!
這是我的網頁layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:id="@+id/list_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
>
<ListView
android:id="@+id/mylist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:drawSelectorOnTop="false"
android:layout_weight="1"
/>
<TextView
android:id="@+id/empty_list_message"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:layout_gravity="center_vertical|center_horizontal"
android:text="@string/msg_for_emptyschd"
android:layout_margin="14dip"
android:layout_weight="1"
/>
</LinearLayout>
<RelativeLayout
android:id="@+id/bottom_action_bar"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/schedule_bottom_actionbar_border"
android:layout_marginBottom="2dip"
android:layout_gravity="bottom"
android:visibility="gone"
>
<Button
android:id="@+id/delete_selecteditems_button"
android:text="Deleted Selected"
android:layout_width="140dip"
android:layout_height="40dip"
android:layout_alignParentLeft="true"
android:layout_marginLeft="3dip"
android:layout_marginTop="3dip"
/>
<Button
android:id="@+id/cancel_button"
android:text="Cancel"
android:layout_width="140dip"
android:layout_height="40dip"
android:layout_alignParentRight="true"
android:layout_marginRight="3dip"
android:layout_marginTop="3dip"
/>
</RelativeLayout>
</FrameLayout>
</LinearLayout>
到目前爲止,我已經得到了一切,除了工作時的底部欄變成在選中複選框可見,它重疊列表的最後一個元素。所有其他列表項目可以向上滾動,但不能向上滾動列表的最後一項,因此用戶無法選擇該項目,如果他打算。這裏是screenshot of the overlap。
我已經嘗試使用listview頁腳選項,但將該欄添加到列表的末尾,而不是將其固定在屏幕的底部。有沒有辦法我可以「提升」listview足夠的重疊不會發生? 順便說一句,我已經嘗試向listview本身添加底部邊距,或者在使按鈕條可見之前將LinearLayout包裝到列表視圖中,但它引入了其他錯誤,例如單擊一個複選框來檢查ListView中的某個複選框。
如果將RelativeLayout替換爲與LinearLayout具有相同權重的LinearLayout,並保存ListView,會發生什麼情況? – James 2011-01-05 08:46:43