MujicaUI

Chat Messages · #209

ImageGrid 浅色主题渲染快照
浅色 · 渲染快照
ImageGrid 深色主题渲染快照
深色 · 渲染快照

209 ImageGrid 图片网格

用途

在消息中排列 1 至 9 张图片:1 张大图,2 与 4 张两列,其余三列。点击已加载的图片打开 ImageViewer;加载中与失败状态复用 Image 组件,失败时可重试。

最小示例

if i, ok := chat.ImageGrid(c, []chat.GridImage{{Source: pic, Alt: "Portrait"}}).Retried(); ok {
	fmt.Println("reload", i)
}

签名:func ImageGrid(c *ui.Context, images []GridImage) ImageGridResult

参数

字段类型默认值含义
images[]GridImage必填1 至 9 张,否则 panic。
Sourceui.ImageSourcenil已加载的位图或 SVG。
Altstring""替代说明,也是按钮名称与查看器标题。
Loading / Errbool / errorfalse / nil调用方的加载中与失败状态。

状态

已加载、加载中(菱形加载标记)、失败(重试按钮);只有已加载的图片可点击。

事件

Retried() 返回本帧点击了重试的图片下标。查看器在组件内部打开与关闭。

键盘操作

Tab 聚焦图片,Enter 或 Space 打开查看器;查看器内的键盘操作见 ImageViewer。

限制

  • 查看器只包含已加载的图片,序号按已加载图片计算。