3

所以布局非常简单。AListView占据了屏幕的大部分,RelativeLayout底部的EditTexta 包含 the 和Button右侧的 a。一切看起来都很好,但问题是当用户键入并输入新行时,它EditText并没有增加它的高度,以至于用户可以在不滚动的情况下看到所有的文本类型。您会认为WRAP_CONTENT在 theEditText及其父级上使用RelativeLayout会解决这个问题,但由于某种原因它不会。有任何想法吗?这是布局 XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent" >

<RelativeLayout
    android:id="@+id/postCommentRelativeLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:visibility="visible" >

    <Button
        android:id="@+id/viewCommentsPostCommentButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="false"
        android:text="@string/post" />

    <EditText
        android:id="@+id/viewCommentsInsertCommentTextEdit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/viewCommentsPostCommentButton"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="false"
        android:layout_toLeftOf="@+id/viewCommentsPostCommentButton"
        android:ems="10"
        android:hint="@string/enter_comment"
        android:inputType="textCapSentences|textMultiLine" >

        <requestFocus />
    </EditText>

</RelativeLayout>

<ListView
    android:id="@+id/entriesListView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/postCommentRelativeLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:focusable="false" >

</ListView>
</RelativeLayout>
4

2 回答 2

7

所以最后我想不通。相反,我在嵌套布局中使用了 aLinearLayout而不是 the 。RelativeLayout这是新的布局 XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<LinearLayout
    android:id="@+id/postCommentLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:orientation="horizontal"
    android:visibility="visible" >

    <EditText
        android:id="@+id/viewCommentsInsertCommentTextEdit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:hint="@string/enter_comment"
        android:inputType="textCapSentences|textMultiLine" />

    <Button
        android:id="@+id/viewCommentsPostCommentButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_weight="4"
        android:text="@string/post" />

</LinearLayout>

<ListView
    android:id="@+id/entriesListView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/postCommentLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:focusable="false" >

</ListView>
</RelativeLayout>
于 2013-04-24T15:01:00.560 回答
-1

尝试设置maxlines属性,也许。

于 2013-04-24T03:04:27.423 回答