【问题标题】:Make EditText grow as it is filled使 EditText 在填充时增长
【发布时间】:2012-10-13 23:41:13
【问题描述】:

我知道以前有人问过有关此问题的各种问题,但我找不到我的问题的答案。我正在开发一个 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 字段位于父级linearLayout 内部,位于父级ScrollView 内部。它在屏幕上看起来不错,但是当我越过编辑文本字段中的第 7 行时,我必须使用轨迹球通过文本字段返回。滚动屏幕滚动整个屏幕。谁能给我一些提示?我已经尝试对类似问题实施不同的建议,但没有人给我正确的答案。谢谢

【问题讨论】:

  • 我不清楚你的问题,如果你想让它继续增长删除:android:lines="7".
  • @Sam 那么如何将editText 框保持在特定大小?我不希望它是一个小盒子我希望它是一个大盒子开始
  • 你试过android:minHeightandroid:minWidth吗?
  • 其实用android:minLines="7"代替android:lines。这将使其至少保持 7 行,并在需要时自动调整大小。
  • @Sam 现在我感觉自己像个白痴。那当然奏效了。为这个愚蠢的问题道歉,我是一个完整的初学者。感谢您的帮助感谢它

标签: android xml android-layout android-edittext


【解决方案1】:

正如@tozka 在 cmets 中所述,在布局文件中指定: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 至少有这么多行高。设置此值会覆盖任何其他(最小)高度设置。

【讨论】:

    猜你喜欢
    • 2016-12-04
    • 2014-07-05
    • 2014-07-16
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多