2

我有一个自定义对话框,我从 dialog.xml 膨胀。当我打开对话框时,它看起来如下所示。我在列表视图和它下面的(确定)按钮之间得到了一些空间。我想消除列表视图和它下面的按钮之间的这个空间。我怎样才能做到这一点,?

在此处输入图像描述

对话框.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent" >

    <ListView
        android:id="@+id/listViewDialog"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/button1"
        android:layout_below="@+id/ImageView1" >
    </ListView>

    <CheckBox
        android:id="@+id/checkBoxAll"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/listView1"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="15dp"
        android:layout_marginRight="25dp"
        android:layout_marginTop="15dp"
        android:text="" />

    <ImageView
        android:id="@+id/ImageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="15dp"
        android:layout_marginLeft="14dp"
        android:layout_marginTop="15dp"
        android:background="#FFFFBB33"
        android:contentDescription="@string/app_name"
        android:scaleType="center"
        android:src="@drawable/alert_dialog_icon" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="128dp"
        android:layout_height="match_parent"
        android:layout_above="@+id/listViewDialog"
        android:layout_marginBottom="15dp"
        android:layout_marginTop="15dp"
        android:layout_toRightOf="@+id/ImageView1"
        android:gravity="center_vertical"
        android:text="Categories"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView1"
        android:layout_alignBottom="@+id/textView1"
        android:layout_toLeftOf="@+id/checkBoxAll"
        android:text="All"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="OK" />

</RelativeLayout>
4

2 回答 2

2

这真的很容易.. 你有 2 个方法:1)创建根 realtivelayout 以具有 android:layout_height="wrap_cotent",同时 ListView 具有相同的。这会将所有对话框的大小缩小到右侧(无空格)大小。2)*更多推荐,让根是Linearlayout并给它一些wightsum,然后将其他视图放在这个根中,并给它们一些layout_wight,这样你就知道在任何屏幕分辨率下你都有相同的比例屏幕。

于 2012-12-17T08:45:58.740 回答
0
maybe try like this:

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:weightSum="100" >

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/RelativeLayout1"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="15" >

            <CheckBox
                android:id="@+id/checkBoxAll"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/listView1"
                android:layout_alignParentRight="true"
                android:layout_marginBottom="15dp"
                android:layout_marginRight="25dp"
                android:layout_marginTop="15dp" />

            <ImageView
                android:id="@+id/ImageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_marginBottom="15dp"
                android:layout_marginLeft="14dp"
                android:layout_marginTop="15dp"
                android:background="#FFFFBB33"
                android:contentDescription="@string/app_name"
                android:scaleType="center" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="128dp"
                android:layout_height="match_parent"
                android:layout_above="@+id/listViewDialog"
                android:layout_marginBottom="15dp"
                android:layout_marginTop="15dp"
                android:layout_toRightOf="@+id/ImageView1"
                android:gravity="center_vertical"
                android:text="Categories"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/textView1"
                android:layout_alignBottom="@+id/textView1"
                android:layout_toLeftOf="@+id/checkBoxAll"
                android:text="All"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <ListView
            android:id="@+id/listViewDialog"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="70" >
        </ListView>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="15" >

            <Button
                android:id="@+id/button1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="OK" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>
于 2012-12-17T11:35:24.217 回答