替代singleLine属性(已弃用)TextInputEditText

Pra*_*ani 46 android android-edittext

我最近使用过TextInputEditText,我得到lint错误,该singleLine属性已弃用

<android.support.design.widget.TextInputEditText
            android:id="@+id/my_edit_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/string_hint_dob"
            android:lines="5"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

通过以下方式获得罢工:

在此输入图像描述

有没有替代方法呢?

fra*_*nch 47

android:singleLineAPI级别3以来,该属性已被弃用.您可以通过使用来实现相同的行为android:maxLines,这允许您指定任意数量的行.这是优越的android:singleLine,这限制了你只允许一行.

<TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:minLines="2"
     android:maxLines="2" /> <!-- can specify arbitrary number of max lines -->
Run Code Online (Sandbox Code Playgroud)

  • 使用数字时不允许 imeoption actionNext (2认同)
  • 这似乎不起作用,除非您还添加 android:inputType="text" - 请参阅下面的@Arihant 答案 (2认同)

Gio*_*oli 36

android:singleLine自API 3以来已弃用,您必须使用android:maxLines(在您的情况下android:maxLines="1").

弃用的原因是性能不佳.无论如何,该singleLine属性不会被删除,因为它仍然是制作一些android:maxLines无法做出的效果的唯一方法:

例如

如果选择了文本,这将在一行上生成滚动水平文本.

<TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:singleLine="true"
     android:ellipsize="end"
     android:scrollHorizontally="true" />
Run Code Online (Sandbox Code Playgroud)

相反,这不起作用:

<TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:maxLines="1"
     android:ellipsize="end"
     android:scrollHorizontally="true" />
Run Code Online (Sandbox Code Playgroud)

  • 此外,android:singleLine ="true"允许检查换行符并移动到下一个字段.android:maxLines ="1"没有. (11认同)

Ari*_*ant 23

始终为单行定义输入类型

例如: inputType="text"

你不需要做任何其他事情.

  • 结合`maxLines ="1"`和`inputType ="text"`你会得到相同的行为.大!! (3认同)
  • 有时`maxLines="1"` 不起作用。是 `inputType` 救了我 (2认同)

Ket*_*ani 7

<EditText
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:inputType="text"
      android:maxLines="1"
      />
Run Code Online (Sandbox Code Playgroud)

使用android:inputType="text"android:maxLines="1"聚会


Raf*_*ñoz 5

在JuanJoséMeleroGómez的提交之后,我想补充更多信息:

如果您尝试设置imeActionEditText此类actionSearch,则设置android:maxLines="1"将不够.如果要查看搜索图标,android:inputType="text"必须添加.