我在我的应用程序中将文本范围与ImageSpan和文本一起使用。文本被异步解析,并且相应地插入/替换了ImageSpans。可能有一个或多个ImageSpans,或者根本没有。
如何预先计算包含ImageSpans的最终文本所占的大小?
我遇到的问题是,当我最终在RecyclerView项中更新TextView时,整个视图“跳了起来”。您可以想象,在不同时间设置的许多列表项,列表似乎在跳跃。
我想通过预先设置TextView的大小来消除“跳转”,因为在显示文本时,项目的大小不会更改,列表不会跳转。
任何帮助或建议,将不胜感激。
最佳答案
由于我们不知道要在完成之前加载的文本大小,因此我们唯一的选择是保留一些保留给该文本的区域。
可以通过将TextView或其父项(不是已知文本的父项)固定为固定大小来轻松实现。
还建议这些:
使文本为ellipsized。
设置一个占位符。
占位符可以是简单的伪文本,也可以是更优雅的东西,如下图所示。
您可以找到该库here。