0

我有一个图形 Android 项目,我提供用户界面功能的主要技巧是使用 drawrect 和 drawtext 在屏幕上绘制一个带有标签的矩形。然后,我捕捉触摸事件并检查它们是否出现在矩形中——当它们出现时,瞧,我有一个按钮。

它可能不是最优雅的方法,但似乎很有魅力。然而,并不是我所有的标签都写在一行上,我想把它们写在两行上。我想我可以写两行单独的行并手动将文本安排得很好地间隔和居中,但如果可能的话,我想避免这种情况。

在Android中,有没有一种简单的方法来拆分文本标签并一步写出来?

谢谢,R。

4

2 回答 2

0

我认为没有一种简单的方法可以实现这一点,您必须测量文本并使用 ButtonWidth - TextWidth / 2 的偏移量绘制它。

于 2011-01-25T16:19:13.357 回答
0

在 Android 应用程序中,您可以创建一个布局并使用各种小部件填充它。这些潜在的小部件之一是按钮,如果您使用它,如果标签的长度需要,它将在多行上显示您的按钮标签......

但是,我的应用程序是 SurfaceRunner,据我所知,此视图不支持按钮。我确实通过绘制各种矩形并检查其边界内的屏幕触摸来使用按钮式功能。这对我的目的来说很好,但不会以任何方式自动化任何显示任务(就像按钮小部件那样)。为了在两行上显示一个长标签,有必要在代码中明确地做到这一点。那好吧。

幸运的是,这只是额外的一行:

canvas.drawRoundRect (Button, ROUNDOVER_SIZE-1, ROUNDOVER_SIZE-1, paint);
canvas.drawText (Text1, Button.centerX() - paint.measureText (Text1)/2, Button.centerY() - 10, paint);
canvas.drawText (Text2, Button.centerX() - paint.measureText (Text2)/2, Button.centerY() + 20, paint);

显然,如果我使用比“10”和“20”更自动的东西会更酷,但这确实完成了工作。

于 2011-01-31T15:49:44.650 回答