1

在我的应用程序中,我将一些文本从数据库加载到TextView. TextView当完全充满文本 时,有什么方法可以检测(设置标志) 。TextView有属性

layout_width = "fill_parent"
layout_height ="fill_parent"

我正在寻找解决方案,但没有找到。有人可以建议我一个逻辑。

4

3 回答 3

1

由于您的目标是呈现文本,因此ViewPager我建议您重新考虑您的设计。

您的方法的问题在于,您永远无法确定人们在打开应用程序时或他们是否想要缩放时将拥有什么屏幕分辨率。如果您实现了您想要实现的功能,那么您要么需要减少功能,因此用户无法缩放或更改布局。在我看来,这是一种不好的做法。事实上,我相信Android 开发者设计原则甚至可能不得不说些什么。我建议您始终为您的应用程序提供用户可能期望的功能。

如果您仍想继续,您需要考虑当用户缩放时,屏幕能够显示的文本量会发生变化。这不仅会导致相当多的计算开销,因为缩放可能是一个连续的事件,而且还意味着用户可能会看到一些文本的抖动。再次,意外的行为。

我的建议是,您要么预先计算要为给定显示器显示的文本数量,然后坚持使用它,让人们在闲暇时自由缩放,要么Intent 实现期望的行为。

于 2013-08-09T06:43:20.337 回答
1

尝试计算 TextView 宽度和实际文本宽度并进行比较。您可以通过此函数计算实际的文本宽度:

Paint p = new Paint();
float text_width = p.measureText("your_text");

希望这可以帮助。

于 2013-08-08T16:45:20.753 回答
0

TextView默认情况下,我相信已经设置了溢出。您需要设置限制。执行以下操作:android:maxLength="20"然后创建一个语句以查看大小是否TextView为 20

于 2013-08-08T13:59:39.680 回答