【发布时间】:2011-08-27 07:36:01
【问题描述】:
看似简单的要求变成了一个相当痛苦的过程。我需要一个 AppWidget 来显示一些(通常是多行)文本 - 文本的大小会有所不同,并且可能比视图允许的长,因此在这种情况下需要省略。该视图还将支持 Android v3.1 中可调整大小的小部件,这再次要求小部件能够正确地动态支持不同大小的内容。容易,你会想吗?如果是单行TextView,我想应该是……
因此,最初我创建了一个 TextView,将属性设置为在文本不适合时将其省略,然后遇到 the bug 这意味着这不起作用 - 文本仅包含两行。
然后我用多行抓住an open source custom view that ellipsizes correctly,它工作正常,但只在一个活动中。我忘记了 AppWidget 限制了小部件中可以包含的视图,所以这也失败了(“类不允许被夸大”)。我看不出有办法使用这个自定义视图。
所以...我能想到的最佳解决方案是向小部件添加一系列单行 TextView,并遍历子字符串,直到找到适合每一行的长度,然后再继续下一行。即手动渲染/测量/渲染文本。这种方法有很多缺点。
有没有更好的方法将多行椭圆形文本放入 AppWidget 中?
【问题讨论】: