【问题标题】:Prevent TextView from wrapping in parent防止 TextView 包装在父级中
【发布时间】:2019-07-06 05:12:54
【问题描述】:

如何防止 TextView 或任何视觉对象缠绕到屏幕上,而是将它们从侧面切掉?是否有一些 XML 属性或代码来执行此操作,或者是否不可能有任何内容从屏幕溢出?

例如,你有这个:

但你真的想要这个:

有什么想法吗?

【问题讨论】:

    标签: android textview


    【解决方案1】:

    查看android:maxLines="1",如果您想添加结尾...,还请添加android:ellipsize="end"

    <TextView
       android:id="@+id/name"
       android:text="i want this to crop not wrap"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:maxLines="1"
       android:ellipsize="end" />
    

    android:singleLine="true"deprecated in API Level 3

    【讨论】:

    • @Pentium10:很好,谢谢。但是,如何为按钮和其他东西做到这一点?
    • 嗯。大概也是这样吧。除了我刚刚展示的内容之外,您对它们无能为力。您使用高度和宽度的东西来限制视图,其余的将被切断。
    • 这会导致在行尾出现...
    • R.attr.singleLine 在 API 3 中已被弃用,但对于 TextView,android:singleLine 从未被弃用。请参阅developer.android.com/reference/android/widget/… 会写很多东西,因为这会填满一行。 maxLines=1 将导致只写入最后一个完整的单词。
    【解决方案2】:

    您正在寻找android:singleLine="true"

    【讨论】:

    • @FranciscoCorralesMorales 它没有说singleLine 已被弃用:developer.android.com/reference/android/widget/…
    • 虽然 IntelliJ 表明 android:singleLine 已弃用,但它似乎不符合文档(从 API 27 开始)。事实上,它与 maxLines=1 有不同的行为,因为它会显示与填充 TextView 一样多的文本,而 maxLines=1 在可以写入的最后一个完整单词之后截断。
    【解决方案3】:

    您查看过android:scrollHorizontally。如果这不起作用,还有一个HorizontalScrollView

    【讨论】:

      【解决方案4】:

      在java代码中是:

      textView.setSingleLine();
      

      【讨论】:

        【解决方案5】:

        textView.setHorizontallyScrolling(true); 为我工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-01
          • 2014-08-28
          • 2018-05-13
          • 1970-01-01
          • 2014-04-09
          • 2014-08-11
          相关资源
          最近更新 更多