Android:TextView 自动截断并替换 String 的最后 3 个字符

新手上路,请多包涵

如果 StringTextView 的宽度长,它会自动换行到下一行。我可以通过使用 android:singleLine (已弃用)或设置 android:inputType="text" 来避免这种情况。我现在需要的是用“ ”替换我的 String 的最后 3 个字符。由于我没有使用等宽字体,因此根据我的 String 中使用的字母,这总是不同的。所以我想知道在 TextView 中获取字符串的最后 3 个字符并替换它们的最佳方法是什么。也许Android框架中已经实现了一些东西,因为这一定是一个常见问题。

原文由 znq 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 888
2 个回答

您应该能够使用文本视图的“ellipsize”属性:

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_mytext"
    android:ellipsize="end"
    android:maxLines="1"
/>

您可能还需要将重力值应用于布局;我有时会看到没有它们的“自动拉伸”视图。

原文由 Nate 发布,翻译遵循 CC BY-SA 3.0 许可协议

找到了解决此问题的有趣方法。

 maxLines=1
ellipsize=end
scrollHorizontally=true

诀窍是最后一条关于水平滚动的陈述……检查一下。它至少适用于 v2.2。

原文由 BonanzaDriver 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题