检查TextView是否完全填充了文本

时间:2013-08-08 13:55:28

标签: android textview

在我的应用程序中,我将一些文本从数据库加载到TextView。当TextView完全填充文本时,有没有办法检测(设置标记)。 TextView具有属性

layout_width = "fill_parent"
layout_height ="fill_parent"

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

3 个答案:

答案 0 :(得分:1)

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

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

希望这有帮助。

答案 1 :(得分:1)

由于您的目标是在ViewPager中展示文字,我建议您重新考虑您的设计。

您的方法存在的问题是,您无法确定打开应用程序时人们会有什么屏幕分辨率,或者他们想要缩放。如果您实现了要实现的内容,则需要减少功能,以便用户无法缩放或更改布局。在我看来,这是一种不好的做法。事实上,我相信Android Developers Design Principles甚至可能不得不说些什么。我建议您始终为您的应用程序提供用户可能期望的功能。

如果你还想继续,你需要考虑当用户放大时,屏幕能够显示的文本量会发生变化。这不仅会导致相当大的计算开销,因为缩放可能是一个连续的事件,但它也意味着用户可能会看到文本周围的一些抖动。再一次,出乎意料的行为。

我建议您计算要为给定显示预先显示的文本数量,然后坚持使用,让人们可以随意放大,或者发出Intent { {3}}到实现所需行为的应用程序。

答案 2 :(得分:0)

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