【问题标题】:Setting android:lines on TextInputEditText not working在 TextInputEditText 上设置 android:lines 不起作用
【发布时间】:2018-08-09 02:49:49
【问题描述】:

有谁知道在使用TextInputEditTextTextInputLayout 时如何显示总行数?使用没有TextInputLayout 的普通EditText 时我没有这个问题。这是我的示例代码:

<android.support.design.widget.TextInputLayout
                android:id="@+id/input_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/spacing_small"
                app:counterEnabled="true"
                app:counterMaxLength="1000"
                app:counterOverflowTextAppearance="@style/TextLimitError"
                app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
                app:theme="@style/TextInputLayoutStyle">

                <android.support.design.widget.TextInputEditText
                    android:id="@+id/input"
                    style="@style/TextInputEditTextStyle"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="hint text"
                    android:inputType="textMultiLine"
                    android:lines="5"
                    android:maxLength="1000"/>
</android.support.design.widget.TextInputLayout>

当我们设置rows 属性时,我的目标是具有与html textarea 相同的效果。

这是我在TextInputEditText 上设置android:lines 时得到的。它在浮动标签和我输入的第一个字母之间留下一个空白空间。

【问题讨论】:

  • 试试android:maxLines
  • @ADM 它不工作
  • TextInputEditText 最终是 EditText 的孩子。它应该工作。也许罪魁祸首是android:maxLength
  • android:minLines 怎么样?
  • 你能告诉我确切的错误吗?

标签: android android-layout text multiline android-textinputedittext


【解决方案1】:

试试下面的android:gravity="top|left"这可能会有所帮助

<android.support.design.widget.TextInputLayout
          android:id="@+id/input_layout"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_marginTop="@dimen/spacing_small"
          app:counterEnabled="true"
          app:counterMaxLength="1000"
          app:counterOverflowTextAppearance="@style/TextLimitError"
          app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
          app:theme="@style/TextInputLayoutStyle">

                        <EditText
                            android:id="@+id/input"
                            style="@style/TextInputEditTextStyle"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="top|left"
                            android:hint="hint text"
                            android:inputType="textMultiLine"
                            android:lines="3"
                            android:maxLines="5"
                            android:minLines="3"
                            android:maxLength="1000"
                            android:singleLine="false"
                            android:scrollbars="vertical"/>
 </android.support.design.widget.TextInputLayout>

【讨论】:

  • 这对我也有用,但我必须指定android:lines 并在那里提供一个固定的数字。你知道有一种方法可以让它接受可变数量的行,最好是换行吗?
  • @Dambakk 你在谈论提供动态行数.....如果是,那么尝试以编程方式设置行数。
  • 是的,这很好,但是当用户输入更多文本时呢?文本应该换行,但它不会。你知道为什么或如何实现这种行为吗?
  • 哦,我只需要设置isSingleLine = false。尴尬.. :)
  • ohh lol :) 很高兴为您提供帮助,并将根据您的建议更新我的代码...
【解决方案2】:

set android:gravity="top|left" 工作正常,如下图:

 <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.design.widget.TextInputEditText
                android:id="@+id/notesValue"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="left|top"
                android:hint="@string/mlNote"
                android:inputType="textCapSentences|textMultiLine"
                android:lines="3" />
        </android.support.design.widget.TextInputLayout>

【讨论】:

    猜你喜欢
    • 2019-04-22
    • 2019-06-09
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 2013-08-20
    • 2015-12-14
    • 1970-01-01
    相关资源
    最近更新 更多