1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Android自定义九宫格图片展示 类似微信朋友圈

Android自定义九宫格图片展示 类似微信朋友圈

时间:2023-11-01 02:05:44

相关推荐

Android自定义九宫格图片展示 类似微信朋友圈

之前网上也找了很多类似的功能,但是很多放在列表中复用item就出现高度测量是0,出现条目中图片空间不显示问题

这里做了一些优化,解决该问题

具体可参考这篇博客,(这里要感谢博主)不过这个放在列表复用时是有上述问题存在的,这边做了个改进

/hmyang314/article/details/51415396

主要实现功能:

1、九张图片展示,也可全部展示,九张以上显示+n

2、图片点击变暗的效果

3、4张图片是2*2显示

4、可放在recyclerview中显示

5、一张图片时显示比例为3:2

优化部分NineGridLayout 该类中onMeasure重写重新测量高度

下面超出一张部分的设置布局宽高可以删除了

下面自定义的图片一张时设置填充控件

/**

* 描述:

* 作者:wtx

* 时间:/4/10

*/

public abstract class NineGridLayout extends ViewGroup {

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int widthSize = MeasureSpec.getSize(widthMeasureSpec);

mTotalWidth = getDefaultSize(widthSize,widthMeasureSpec);

mSingleWidth = (int) ((mTotalWidth - mSpacing * (3 - 1)) / 3);

int size = getListSize(mUrlList);

itn width =mTotalWidth ;

int heigth = 0;

if (size = 1){

width = mSingleWidth*2;

height = mSingleWidth*3;

}else if(size >1){

generateChildrenLayout(size);

width = mTotalWidth;

heiht =(int) ((mSingleWidth*mRows+ mSpacing* (mRows-1) );

}

setMeasuredDimension(wid,height);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。