5

我需要一个 EditText 来填充我的窗口高度。我正在使用这个:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true" >

<EditText
    android:id="@+id/text_editor"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:background="#ff0000"
    android:gravity="top|left"
    android:inputType="textMultiLine"
    android:textColor="@android:color/white" />

</ScrollView>

但我得到的只是一行 EditText,一旦我在多行输入返回按钮时写了一些东西,它就会更长且可滚动。我知道我可以设置行号,但在这种情况下,它应该在不同的设备上工作,并且每个设备(我猜)都有不同数量的行。

如何强制它填充设备的高度?

有小费吗?

4

5 回答 5

4

尝试使用(不带 ScrollView):

<EditText
    android:id="@+id/text_editor"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:background="#ff0000"
    android:gravity="top|left"
    android:textColor="@android:color/white" />
于 2012-06-20T13:47:40.973 回答
3

尝试为 EditText 设置这个,我有同样的事情,这会工作。

<EditText
android:id="@+id/text_editor"
android:layout_width="match_parent"
**android:layout_height="wrap_content"**
android:background="#ff0000"
android:gravity="top|left"
android:inputType="textMultiLine"
android:textColor="@android:color/white" />

你也可以用这个来设置你需要多少行,

android:lines="number of Lines"
于 2012-06-20T14:07:28.810 回答
0

如果您可以将其添加到代码中,它将是这样的:

EditText et = new EditText(this);
l.addView(et, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 100));

100意味着它将具有 100dp 的宽度。这lLayout你可能拥有的(ScrollView在你的情况下)你可以得到R.layout.name_of_the_scroll_view

我不确定,但尝试将 height 的属性放入WRAP_CONTENT.

于 2012-06-20T13:42:55.920 回答
0
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <EditText
        android:id="@+id/editText1"
        android:scrollbars="vertical" <-----------
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:gravity="top|left"
        android:ems="10"
        android:text=" example text" />

</RelativeLayout>

在java代码中设置这个.....

ed1 = (EditText) findViewById(R.id.editText1);
ed1.setMovementMethod(new ScrollingMovementMethod()); <--------

将在所有设备中工作。

希望这会帮助你。

于 2012-06-20T14:00:07.347 回答
0

我的代码对我有用。

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

<ImageView
    android:id="@+id/imageView20"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:contentDescription="@string/img_desc1"
    android:src="@drawable/num74_head_payakorn" />

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <EditText
        android:id="@+id/edtPayakorn"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:textSize="22sp"
        android:clickable="false"
        android:cursorVisible="false"
        android:editable="false"
        android:enabled="true"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:gravity="top|left"
        android:scrollbars="vertical"
        android:inputType="textMultiLine" />
    </TableRow>
</LinearLayout>
于 2013-03-15T15:59:20.867 回答