Go语言 如何在fyne-io/fyne中水平滚动列表?

gojuced7  于 2023-08-01  发布在  Go
关注(0)|答案(1)|浏览(150)

当列表项文本较长时,我希望列表可以水平滚动
代码示例:

package main
t
import (
    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/container"
    "fyne.io/fyne/v2/widget"
)

var data = []string{"long long long long long long long long long long string", "long long long long long long long long long long string"}

func main() {
    myApp := app.New()
    myWindow := myApp.NewWindow("List Widget")

    list := widget.NewList(
        func() int {
            return len(data)
        },
        func() fyne.CanvasObject {
            return widget.NewLabel("template")
        },
        func(i widget.ListItemID, o fyne.CanvasObject) {
            o.(*widget.Label).SetText(data[i])
        })

    myWindow.SetContent(
        container.NewHScroll(
            list,
        ),
    )
    myWindow.ShowAndRun()
}

字符串
仅文本宽度widget.NewLabel("template")可滚动


的数据
列表无法滚动


lnvxswe2

lnvxswe21#

你是对的,模板指定了列表项的大小。就是这样你能做一个更能说明你的内容的模板吗?
水平滚动并不是一个真正的列表功能,也许你可以尝试表?或者在标签上设置换行,并在加载数据时相应地设置项目高度?

相关问题