1

我有带有一组项目的 listView。我想在列表下方添加 2 个按钮。但如果我这样做:

    <?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout

              xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/fileManager"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              android:gravity="center" >
     <LinearLayout

              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <ListView

        android:background="#000000"
        android:id="@+id/fileManagerList"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </ListView>
    <CheckedTextView  
             android:id="@+id/checkedTextItem" 
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content" 
             android:gravity="center_vertical" 
             android:clickable="true"
             android:checkMark="?android:attr/listChoiceIndicatorMultiple"
             android:textColor="#000000"
             android:paddingLeft="10dip" 
             android:paddingRight="6dip" 
             android:typeface="sans" android:textSize="16dip"/> 

     </LinearLayout>
            <LinearLayout

              xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/fileManager"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="horizontal"
              android:gravity="center" 
              android:layout_alignBottom="@+id/fileManagerList">

             <Button
                android:id="@+id/attachFiles"
                android:layout_width="200dp"
                android:layout_height="55dp"
                android:background="#007FFF"
                android:gravity="center|center"

                android:text="Attach files"
                android:layout_alignBottom="@+id/fileManagerList"
                android:textColor="#FFFFFF"
                android:textSize="18dp"
                android:textStyle="bold" />

            <Button
                android:id="@+id/cancelFiles"
                android:layout_width="82dp"
                android:layout_height="55dp"
                android:background="#838B83"
                android:gravity="center|center"  
                android:layout_alignRight="@+id/attachFiles"
                android:layout_alignBottom="@+id/fileManagerList"
                android:text="Do not attach"
                android:textColor="#FFFFFF"
                android:textSize="18dp"
                android:textStyle="bold" />
        </LinearLayout>
</LinearLayout>

我的按钮显示在ListView. 我尝试以相同的方式执行此操作,但使用RelativeLayout,但我得到了正确的列表,按钮位于底部,但它们覆盖了列表的最后一项。我该如何实施?

4

2 回答 2

2

Try this Layout, You can achieve your goal using the below XML Layout

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

            <ListView
             android:id="@+id/fileManagerList"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"   
             android:choiceMode="singleChoice"
             android:contentDescription="@string/ringtone"
             android:layout_marginLeft="3dip" 
             android:textSize="2dp" />

            <LinearLayout
            android:id="@+id/closecalmlayout"
            android:layout_below="@+id/fileManagerList" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:weightSum="1.0" >

              <Button
                  android:id="@+id/btnOk"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content" 
                  android:layout_marginLeft="5dip"
                  android:layout_marginTop="5dip"
                  android:layout_weight=".50"
                  />

              <Button
                  android:id="@+id/btnCancel"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_marginLeft="5dip"
                  android:layout_marginRight="5dip"
                  android:layout_marginTop="5dip"
                  android:layout_weight=".50"
                   />

            </LinearLayout>  
     </RelativeLayout>

Hope it helps.

于 2012-08-28T08:24:22.707 回答
-1

这是因为你在任何地方都使用@+id,无论你在哪里引用任何id。前任。:

android:layout_alignBottom="@+id/fileManagerList"

请改用“ @id/”。

而且,尝试:

android:layout_below="@id/fileManagerList"// 在按钮中添加这个属性。

于 2012-08-28T08:18:45.473 回答