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



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

layout_width = "fill_parent"
layout_height ="fill_parent"

我正在寻找解决方案,但没有找到。有人能给我一个逻辑吗。

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

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

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

我建议您要么预先计算出要为给定显示显示的文本量,然后坚持使用它,让人们在空闲时可以自由缩放,要么向实现所需行为的应用程序发布Intent(文档)。

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

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

希望这能有所帮助。

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

最新更新