使EditText在填充时增长

时间:2012-10-13 23:41:13

标签: android xml android-layout android-edittext

我之前已经知道有关此问题的各种问题,但我无法找到问题的答案。我正在开发一个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行时,我必须使用轨迹球返回文本字段。滚动屏幕会滚动整个屏幕。谁能给我一些提示?我尝试对类似的问题实施不同的建议,但没有一个给我正确的答案。感谢

1 个答案:

答案 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至少有这么多行。设置此值将覆盖任何其他(最小)高度设置。

相关问题