卧疾丰暇豫,翰墨时间作。这篇文章主要讲述Android GridLayout中的单元格边缘相关的知识,希望能为你提供帮助。
在android中,可以轻松创建具有下一个边距的网格列表:
【Android GridLayout中的单元格边缘】
文章图片
我找到了适用于ios的解决方案,但它不会在单元格和父视图之间添加边距,仅在单元格之间添加边距
let itemSpacing: CGFloat = 3
let itemsInOneLine: CGFloat = 2
flow.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
let width = UIScreen.main.bounds.size.width - itemSpacing * CGFloat(itemsInOneLine - 1) //collectionView.frame.width is the same asUIScreen.main.bounds.size.width here.
flow.itemSize = CGSize(width: floor(width/itemsInOneLine), height: width/itemsInOneLine)
flow.minimumInteritemSpacing = 3
flow.minimumLineSpacing = 3
文章图片
我该如何解决?
附:我不想对任何东西进行硬编码,因此它适用于所有iPhone / iPad设备
答案将常量为5的前导,尾随和顶部约束添加到集合视图中。这将解决您的保证金问题
另一答案
let itemSpacing: CGFloat = 3
let itemsInOneLine: CGFloat = 2
let flow = UICollectionView().collectionViewLayout as! UICollectionViewFlowLayout
flow.sectionInset = UIEdgeInsets(top: itemSpacing, left: itemSpacing, bottom: itemSpacing, right: itemSpacing)
flow.minimumInteritemSpacing = itemSpacing
flow.minimumLineSpacing = itemSpacing
let cellWidth = (UIScreen.main.bounds.width - (itemSpacing * 2) - ((itemsInOneLine - 1) * itemSpacing)) / itemsInOneLine
flow.itemSize = CGSize(width: cellWidth, height: cellWidth)
推荐阅读
- 如何在对应用程序运行某些测试之前在Jmeter中设置app_id和app_secret属性()
- Android ClassNotFoundException(在路径上找不到类:Dexpathlist)
- LibGDX从Core模块(MyGdxGame)中的android模块(AndroidLauncher)获取变量()
- Libgdx(Android) - ImageButton尺寸错误(比例尺)
- 如何在Android Studio中调试“桌面”libgdx应用程序
- Android Studio -Libgdx-无法使用Gradle发行版“https://services.gradle.org/distributions/gradle-4.4-all.zip”执行
- 无法解析导入com.google.android.gms
- 如何嵌入app.config并硬编码其Web服务端点()
- 错误(机器人的MSA appId或密码不正确)