【发布时间】: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