在scrollview底部有两个相同大小的按钮

时间:2011-02-05 17:37:19

标签: android xml

我无法为我的生活缠绕这个布局。我已经设法将按钮放到底部,但因为它们处于相对布局中,所以我不能让它们都达到50%。这是我到目前为止所做的,为了简化,删除了一些代码:

<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="50dip">

    <LinearLayout android:id="@+id/LinearLayout02"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="15px">

        <ImageView android:id="@+id/ImageView02"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_marginBottom="15px"
        android:layout_gravity="center_vertical|center_horizontal|center"/>


        <TextView
           android:id="@+id/barcode"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/item_number"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/release"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/other_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/box_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>

    </LinearLayout>
</ScrollView>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_alignParentBottom="true">
    <Button android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"           
        android:id="@+id/add_bt" 
        android:text="Add to Collection" />
    <Button android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:id="@+id/back_bt" 
        android:text="Go Back" />
</RelativeLayout>

2 个答案:

答案 0 :(得分:5)

他们必须在RelativeLayout吗?我认为它应该适用于LinearLayout

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >
    <ScrollView
        android:id="@+id/settingsScrollView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        >
    ...
    </ScrollView>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
        <Button
            android:id="@+id/add_bt"
            android:layout_height="42dp"
            android:layout_width="wrap_content"
            android:layout_weight="1"
            android:text="Add to Collection""
        />
        <Button
            android:id="@+id/back_bt"
            android:layout_height="42dp"
            android:layout_width="wrap_content"
            android:layout_weight="1"
            android:text="Go Back"
        />
    </LinearLayout>
</LinearLayout>

我在dp中指定了layout_height,但您可以尝试wrap_content或其他值。

答案 1 :(得分:2)

试试这个。 “技巧”是使用一些额外的LinearLayouts来包含东西,然后将2个按钮的Weight属性设置为相同的值,使它们具有相同的权重。

    

    <LinearLayout android:id="@+id/LinearLayout02"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="15px">

        <ImageView android:id="@+id/ImageView02"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_marginBottom="15px"
        android:layout_gravity="center_vertical|center_horizontal|center"/>


        <TextView
           android:id="@+id/barcode"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/item_number"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/release"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/other_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/box_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</ScrollView>
<RelativeLayout android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_alignParentBottom="true">
    <LinearLayout 
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_alignParentBottom="true">
        <Button android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"           
            android:id="@+id/add_bt" 
            android:text="Add to Collection" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_weight="1"/>
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:id="@+id/back_bt" 
            android:text="Go Back" android:layout_weight="1"/>
    </LinearLayout >
</RelativeLayout>