在我的应用程序中,我将一些文本从数据库加载到TextView
。当TextView
完全填充文本时,有没有办法检测(设置标记)。
TextView
具有属性
layout_width = "fill_parent"
layout_height ="fill_parent"
我正在寻找一个解决方案但没有找到。有人可以建议我一个逻辑。
答案 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