底部的按钮消失

时间:2013-03-30 14:27:32

标签: android android-layout

很有可能之前已经提出类似这样的问题,但我找不到相关的关键字来找到相同的。

我正在制作一个应用程序,我设计的布局是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Scheduler" >

    <EditText
        android:id="@+id/addressee"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/addresseeHint"
        android:inputType="number" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="2" >

        <EditText
            android:id="@+id/date"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="@string/scheduleDate"
            android:inputType="date" />

        <EditText
            android:id="@+id/time"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="@string/scheduleTime"
            android:inputType="time" />
    </LinearLayout>

    <EditText
        android:id="@+id/smsText"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="top"
        android:hint="@string/smsTextHint"
        android:inputType="text" />

    <Button
        android:id="@+id/scheduleText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="@string/scheduleTextButton" />

</LinearLayout>

出现的布局如下:

enter image description here

我想要的东西会是这样的:

enter image description here

问题是底部的Button(id:scheduleText)消失了,原因是它上面的layout_height设置的EditText参数是fill_parent。但我想我不能提供任何特定的价值,因为那时布局在不同的设备上看起来会有所不同?

如何修复此错误?

由于

1 个答案:

答案 0 :(得分:2)

您的EditText有一个填充父级的高度,这使得它填充父级并且按钮将不可见,因此请按以下方式进行:

<EditText
        android:id="@+id/smsText"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="top"
        android:hint="@string/smsTextHint"
        android:inputType="text" />

<强>更新

我更新了答案以扩展编辑文本并填充屏幕,但也为按钮留出空间。诀窍是使用重量..