我需要一个可以填充窗口高度的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,一旦我在多行输入返回按钮上写东西,它会更长并可滚动。 我知道我可以设置行号,但在这种情况下它应该在不同的设备上工作,每个设备(我猜)有不同的行数。
如何强制它以高度填充设备?
任何提示?
答案 0 :(得分:2)
尝试使用(不使用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" />
答案 1 :(得分:2)
尝试为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"
答案 2 :(得分:0)
如果你可以在代码中添加它,就像这样:
EditText et = new EditText(this);
l.addView(et, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 100));
其中100
表示它将具有100dp的宽度。 l
是Layout
您可能拥有的ScrollView
({1}},R.layout.name_of_the_scroll_view
。
我不确定但是尝试将WRAP_CONTENT
的高度属性放入。
答案 3 :(得分: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()); <--------
可以在所有设备上使用。
希望这会对你有所帮助。
答案 4 :(得分: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>