背景
在大众点评app上,看到一个神奇的交互:ViewPager的高度会随着图片的高度而变化,且丝滑进行图片间的切换,于是乎好奇的小白就去网上查了下相关的知识(ctr+c & ctr+v),忽然发现这高级的交互一行代码就搞定了,惊奇之余,小白写下了这篇文章,以便后续查阅(ctr+c & ctr+v)。
神奇之路开启
大致的思路:拿到这堆图片,先获取这堆图片的高度(图片的宽高比等于控件的宽高比),图片切换时动态计算ViewPager的高度,好啦,废话不多说,贴代码
final int[] heightList = new int[mPostDetailInfo.thumbImgList.size()];
int defaultHeight = LibTools.dip2px(200);
int maxHeight = LibTools.getWindowHeight(MainApplication.getInstance()) - LibTools.dip2px(280);
int i = 0;
for (String imgUrl : mPostDetailInfo.thumbImgList) {
BitmapFactory.Options options = CommunityUtils.getImageWHFromUrl(imgUrl);
int imgHeight;
if (options.outHeight == 0