我之前已经知道有关此问题的各种问题,但我无法找到问题的答案。我正在开发一个Android应用程序,我希望EditText字段在用户输入时扩展。我希望它首先是最小尺寸,如果用户输入的数量超过最小允许值,则扩展。到目前为止,这是我的代码:
<ScrollView
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:fillViewport="true" >
<linearLayout
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:orientation="vertical"
android:padding="5dp" >
<linearLayout>
...content...
</linearLayout>
<linearLayout>
...content...
</linearLayout>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:lines="7"
android:gravity="top" />
</linearLayout>
</ScrollView>
EditText字段位于父级ScrollView内的父linearLayout内。它在屏幕上看起来很好但是当我在编辑文本字段中超过第7行时,我必须使用轨迹球返回文本字段。滚动屏幕会滚动整个屏幕。谁能给我一些提示?我尝试对类似的问题实施不同的建议,但没有一个给我正确的答案。感谢
答案 0 :(得分:12)
正如@tozka在评论中所述,在布局文件中,请指定:android:minLines=""
而不是android:lines=""
。
在Java中:editText.setMinLines(int)
而不是editText.setLines(int)
。
在C#(Android版Mono)中editText.SetMinLines(int)
代替editText.SetLines(int)
。
来自Android docs:
public void setMinLines (int minlines)
使TextView至少有这么多行。设置此值将覆盖任何其他(最小)高度设置。