日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

NineImageForCircleFriends朋友圈九宫格

發(fā)布時間:2025/4/16 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NineImageForCircleFriends朋友圈九宫格 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

###需求

  • 當只有一張的時候,顯示一張圖片(寬度是整個手機寬度(去掉左右margin和padding值))
  • 當有兩張和四張圖片的時候,圖片的寬度是整個寬度的1/2,當然要剔除margin和padding值
  • 當圖片是3,5,6,7,8,9張的時候,顯示的是類似于微信九宮格的圖片

###主要的測量方法

@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {super.onMeasure(widthMeasureSpec, heightMeasureSpec);int width = MeasureSpec.getSize(widthMeasureSpec);int height = 0;int totalWidth = width - getPaddingLeft() - getPaddingRight();if (mImageInfo != null && mImageInfo.size() > 0) {if (mImageInfo.size() == 1) {gridWidth = singleImageSize > totalWidth ? totalWidth : singleImageSize;gridHeight = (int) (gridWidth / singleImageRatio);//矯正圖片顯示區(qū)域大小,不允許超過最大顯示范圍if (gridHeight > singleImageSize) {float ratio = singleImageSize * 1.0f / gridHeight;gridWidth = (int) (gridWidth * ratio);gridHeight = singleImageSize;}} else if (mImageInfo.size() == 2 || mImageInfo.size() == 4) {//如果當為2張或者4張圖片的時候 就按照總寬度的 1/2gridWidth = gridHeight = (totalWidth - gridSpacing * (columnCount - 1)) / columnCount;//這里無論是幾張圖片,寬高都按總寬度的 1/3 // gridWidth = gridHeight = (totalWidth - gridSpacing ) / 2;} else {gridWidth = gridHeight = (totalWidth - gridSpacing * 2) / 3;}width = gridWidth * columnCount + gridSpacing * (columnCount - 1) + getPaddingLeft() + getPaddingRight();height = gridHeight * rowCount + gridSpacing * (rowCount - 1) + getPaddingTop() + getPaddingBottom();}setMeasuredDimension(width, height);} 復制代碼

###效果圖

###項目地址 https://github.com/wuyinlei/NineImageForCircleFriends

###參考

https://github.com/jeasonlzy/NineGridView

總結

以上是生活随笔為你收集整理的NineImageForCircleFriends朋友圈九宫格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。