0

我的应用程序上有 2 个按钮,当前位置如下所示:

在此处输入图像描述 我已经更改了我的 xml,以便将高度属性设置为“0dp”,并将重量设置为“1”。这为我提供了正确的等间距,但按钮现在展开以填充此空间,如下所示:

在此处输入图像描述

如何修改我的布局,以便实现所需的布局?(注意:我在paint中创建了这个布局)

在此处输入图像描述

当前 XML 布局:

Here is my current XML code:

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

<LinearLayout
android:layout_width="match_parent"
android:layout_height="84dp"
android:orientation="horizontal" >

<ImageView
    android:id="@+id/imgLink"
    android:layout_width="78dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:src="@drawable/appointmentmanimenuicon" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="75dp"
    android:gravity="center"
    android:text="Appointments"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="30sp" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="400dp"
android:orientation="vertical" >

<Button
    android:id="@+id/btnaddAppoint"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_margin="20dp"
    android:drawableLeft="@drawable/appointmentmenu"
    android:src="@drawable/appointmentmenu"
    android:text="Add Appointment"
    android:layout_weight="1" />

<Button
    android:id="@+id/btnviewAppoint"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_margin="20dp"
    android:drawableLeft="@drawable/appointviewicon"
    android:src="@drawable/appointviewicon"
    android:text="View Appointments"
    android:layout_weight="1" />
</LinearLayout>

</LinearLayout>
4

2 回答 2

0

您可以使用 layout_height="yourvalue" 为您的布局提供所需的高度,并使用 layout_margin="yourvalue" 安排间距...

于 2013-03-14T21:07:47.783 回答
0

一个相当简单的解决方案是使用“虚拟”视图在按钮之间创建所需的间距。然后,您可以通过调整不同的权重来调整间距。不妨也摆脱LinearLayout包装两个按钮的那个 - 通常没有必要嵌套多个具有相同方向的 LinearLayouts。

尝试将LinearLayout两个按钮换成如下所示:

<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_weight="1" />

<Button
    android:id="@+id/btnaddAppoint"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:drawableLeft="@drawable/appointmentmenu"
    android:src="@drawable/appointmentmenu"
    android:text="Add Appointment" />

<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_weight="1" />

<Button
    android:id="@+id/btnviewAppoint"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:drawableLeft="@drawable/appointviewicon"
    android:src="@drawable/appointviewicon"
    android:text="View Appointments" />

<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_weight="1" />
于 2013-03-14T21:22:37.493 回答