Android瀑布流源代码_瀑布流Demo下载
2015-07-13 10:05:51  By: dwtedx

本例子是一个瀑布流的例子源码、因为本例子的图片都是高清的大图如果是用流量会很费、建议wifi测试、瀑布流的实现是定义三个linearlayout、然后向里面addView()、下面是运行效果、还是很不错的

android瀑布流


如果多了会出现异常、所以做了一些处理

1、lrucache缓存

2、只显示当前屏的图片

3、滑动过程中不加载图片

4、大图缩放成小图、项目编码UTF-8默认编译版本4.4.2注释丰富


查找要添加的column代码

private LinearLayout findColumnToAdd(ImageView iv, int imageHeight) {
	if (mFirstColumnHeight <= mSecondColumnHeight) {
		if (mFirstColumnHeight <= mThirdColumnHeight) {
			iv.setTag(R.string.border_top, mFirstColumnHeight);
			mFirstColumnHeight  = imageHeight;
			iv.setTag(R.string.border_bottom, mFirstColumnHeight);
			return mFirstColumn;
		}
		iv.setTag(R.string.border_top, mThirdColumnHeight);
		mThirdColumnHeight  = imageHeight;
		iv.setTag(R.string.border_bottom, mThirdColumnHeight);
		return mThirdColumn;

	} else {
		if (mSecondColumnHeight <= mThirdColumnHeight) {
			iv.setTag(R.string.border_top, mSecondColumnHeight);
			mSecondColumnHeight  = imageHeight;
			iv.setTag(R.string.border_bottom, mSecondColumnHeight);
			return mSecondColumn;
		}
		iv.setTag(R.string.border_top, mThirdColumnHeight);
		mThirdColumnHeight  = imageHeight;
		iv.setTag(R.string.border_bottom, mThirdColumnHeight);
		return mThirdColumn;
	}
}


加载图片代码

private void loadMoreImages() {
	if (hashSdcard()) {

		// 根据页数加载图片
		int startIndex = page * PAGE_SIZE;
		int endIndex = page * PAGE_SIZE   PAGE_SIZE;

		if (startIndex < mImagesThoumb.imageThumbs.length) {
			if (endIndex > mImagesThoumb.imageThumbs.length) {
				endIndex = mImagesThoumb.imageThumbs.length;
			}
			for (int i = startIndex; i < endIndex; i  ) {
				String imageUrl = mImagesThoumb.imageThumbs[i]
						.toString();
				if (imageUrl != null && !"".equals(imageUrl)) {
					downLoadData(imageUrl);
				}
			}
			page  ;
		} else {
			Toast.makeText(mContext, "没有更多图片了", 0).show();
		}
	} else {
		Toast.makeText(mContext, "无sdcard", 0).show();
	}
}


另外此Demo在加载过多图片的时候还是会有bug、出现闪退的情况、使用的时候可以一下代码、使用universal-image-loader来加载网络图片就好了


最后给贴上Demo的源代码、希望对大家有用、有兴趣的哥们可以下载看看

源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1c0Gu376 密码: fe3h

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

DD记账
top
+