【问题标题】:android singleLine vs maxLinesandroid singleLine vs maxLines
【发布时间】:2015-06-16 22:39:26
【问题描述】:

我认为singleLine="true" 等同于maxLines="1",但我看到Android Studio 中的以下预填充字段两者都有。有区别吗?是否存在导致两者都需要的已知错误?

<EditTextPreference
   android:key="example_text"
   android:title="@string/pref_title_display_name"
   android:defaultValue="@string/pref_default_display_name"
   android:selectAllOnFocus="true"
   android:inputType="textCapWords"
   android:capitalize="words"
   android:singleLine="true"
   android:maxLines="1" />

这是来自pref_general.xml 文件。

【问题讨论】:

  • 谢谢。这部分回答了这个问题。但这并没有说明为什么它们都显示在我提供的示例中。
  • 这不是和能够用键盘添加新行有关吗?我很确定 singleLine="true" 会阻止它制作另一条线。
  • 据我所知,至少在新版本的 Android Studio 中,偏好 XML 文件是手动完成的。所以,我想知道当您自己执行此操作时,Android Studio 是如何预填充它的。

标签: android android-layout


【解决方案1】:

来自安卓网站:

singleLine:

将文本限制为单个水平滚动行,而不是 让它包裹到多行,并推进焦点而不是 按下回车键时插入换行符。默认值为 false (多行换行文本模式)用于不可编辑的文本,但如果你 为 inputType 指定任意值,默认为 true(单行 输入字段模式)。

必须是布尔值,“真”或“假”。

maxLines:

使 TextView 最多有这么多行。当用于 可编辑文本,inputType 属性的值必须与 要应用的 maxLines 属性的 textMultiLine 标志。

必须是整数值,如“100”

请注意,自 API 3 起,singleLine 已被弃用,而应使用 maxLines。所以你真正需要的是

android:maxLines = integer // 1 for single line or add lines multiple as well.

【讨论】:

  • singleLine 真的被弃用了吗?我在 AS 的视觉预览中没有发现任何警告。在我的情况下,singleLine=truemaxLines=1 给出不同的结果。
  • singleLine 似乎没有被弃用。 developer.android.com/reference/android/widget/…
  • 现在是,但对于 EditTexts,singleLine 仍应使用,因为maxLines 不会换行。
  • maxLines=1 不会阻止用户输入换行符,但singleLine 会。改用maxLines 没有意义。
  • @mochadwi android:lines 不适用于我的椭圆化。
【解决方案2】:

最大线数

在 EditText 中,maxLines 属性设置为特定值,例如 5 在 EditText 以及
中的 Enter 键中只能看到五行文本 输入键盘也可见。

单行

在 EditText 中,singleLine 属性设置为真值,然后只有一行
text 是 int EditText 可见,并且键盘中的 Enter 键不可见 对我们来说是可见的。

谢谢

【讨论】:

    猜你喜欢
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 2023-01-08
    相关资源
    最近更新 更多