【发布时间】:2015-11-17 05:16:35
【问题描述】:
像 Facebook 和许多其他应用程序一样,它们在 ListView 中有图像,我想知道他们如何设置占位符的大小,与要从服务器加载的图像完全一致。 如果您回答我的问题,我将不胜感激。
【问题讨论】:
-
上传图片时唯一的办法就是把图片的宽高保存在服务器上。然后,您可以在加载图像时获取占位符的这些值。
标签: android image placeholder
像 Facebook 和许多其他应用程序一样,它们在 ListView 中有图像,我想知道他们如何设置占位符的大小,与要从服务器加载的图像完全一致。 如果您回答我的问题,我将不胜感激。
【问题讨论】:
标签: android image placeholder
好的。首先,您需要为您的列表视图创建适配器。这是教程: http://www.javacodegeeks.com/2013/09/android-listview-with-adapter-example.html
现在,如您所见,您需要为您的单元格创建 xml。在该 xml 中,您可以定义视图的大小和位置。
【讨论】:
将我们图像的纵横比保存在数据库中。然后使用 Facebook 自己开发的 Fresco 图像加载器 - https://github.com/facebook/fresco 。阅读文档并学习使用 SimpleDraweeView ImageView 类以及图像单元格上的占位符和进度条(不要在图像单元格上使用 wrap_content 开发人员反对它)。它有一个名为
的方法simpleDraweeView.setAspectRatio(float);.
只需将从服务器检索到的纵横比传递给此方法即可。我最近遇到了同样的问题并使用此方法解决了它。希望它有所帮助。
【讨论】: