如何将editText放置在屏幕底部并使其高度可扩展

Nia*_*iaz 1 android android-edittext

好吧,如果输入几行,有很多示例如何使 editText 的高度可扩展。但我的 editText 应该在屏幕底部。我的 editText 现在不可扩展。

在此处输入图片说明

我的代码在这里:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="vertical"
          >

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/scroll"
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:orientation="vertical"
            android:layout_weight="12"
            >
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:id="@+id/linear"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
            >
        </LinearLayout>
    </ScrollView>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="horizontal"
              >
        <EditText
            android:id="@+id/editMessage"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:inputType="textMultiLine|textCapSentences"
            android:minLines="3"
            android:gravity="top|left"
            android:maxLines="5"
            android:layout_gravity= "center_vertical|center_horizontal"
            android:textColor="@color/text1"
            android:layout_weight="5"
            android:background="@drawable/edit"
            android:scrollHorizontally="false"
            />
        <Button
            android:id="@+id/buttonSend"
            android:text='>'
            android:gravity="center"
            android:layout_gravity= "center_vertical|center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:background="@drawable/button_normal"
            />

    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

请问有什么想法吗?谢谢!

Abd*_*aby 5

对于这种情况,最好使用RelativeLayout而不是LinearLayout. 试试下面的代码:

<RelativeLayout 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/scroll"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/ll_send_message"
        android:layout_alignParentTop="true"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/linear"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/ll_send_message"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/editMessage"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical|center_horizontal"
            android:layout_weight="5"
            android:background="@drawable/edit"
            android:gravity="top|left"
            android:inputType="textMultiLine|textCapSentences"
            android:maxLines="5"
            android:minLines="3"
            android:scrollHorizontally="false"
            android:textColor="@color/text1" />

        <Button
            android:id="@+id/buttonSend"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:background="@drawable/button_normal"
            android:gravity="center"
            android:text="send"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)