【问题标题】:Android - how can I check if text fits completely inside a view?Android - 如何检查文本是否完全适合视图?
【发布时间】:2012-02-15 16:24:16
【问题描述】:

我有一系列按钮和文本视图,我希望它们始终是方形的,并且始终适合其中的文本数量。如果视图中有一个单词,它将是一个小方块。如果视图有一个完整的句子,它将是一个足以容纳整个句子的正方形。

如何检查文本是否适合水平和垂直视图?我只看到了检查第一行文本是否适合水平视图的能力。但是如果第一行文本合适而第二行或第三行被截断怎么办?如何判断代码中是否发生这种情况,以便增加视图的大小?

谢谢!

【问题讨论】:

  • 有一种方法可以让文本始终适合背景,你必须使用 9 补丁图像或 9.png developer.android.com/guide/developing/tools/draw9patch.html 我认为使用 9 补丁会比使用 9 补丁更容易检查文本大小。
  • @jsaye 您应该将此作为答案发布。这是正确的答案恕我直言。
  • 这是一种简单的方法(无需编码),基本上是一张边框为 1 个透明像素的图片。然后你去你的 android-sdk/tools 文件夹,你将不得不寻找 draw9patch.exe。使用此程序,您可以指定背景的哪些像素将扩展/收缩,用黑色像素定义它们。
  • 可以创建自己的 TexTview 类,比如 public class myTextView 扩展 SurfaceView 实现 Runnable,因为你必须定义视图的显示方式,然后你可以创建一个 Paint 对象,放一个该对象中的文本并在绘制之前查看它是否适合您的画布,这应该更适合您的要求。
  • 我有一个扩展 TextView 的自定义视图。当我覆盖 onDraw 方法时,我可以访问画布。如何检查文本是否适合绘画以及绘画是否适合画布?我只看到似乎测量文本宽度的方法。至于九补丁,视图有渐变背景颜色,我认为使用九补丁会导致视图扩展时渐变看起来不同。

标签: android button resize textview


【解决方案1】:

如果你有文本,你可以用 android:text="text" 添加你的文本,并检查它是否正确地适合你的 XML 文件的图形视图,使用屏幕尺寸。您还可以使用像素(px)等文本的相对大小,以便在不同屏幕上更加灵活

【讨论】:

    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多