MultiLineEntry设置大小
在另一篇文章讲过,放入border布局中,可以最大化MultiLineEntry。
这里再介绍另一种方法:SetMinRowsVisible()
func (e *Entry) SetMinRowsVisible(count int) {e.multiLineRows = counte.Refresh()
}
SetMinRowsVisible强制multi-line entry在不滚动的情况下显示“count”行数。这不是验证或要求,它只是影响最小可见尺寸。请小心使用,因为Fyne应用程序可以在小屏幕上运行,所以如果这个数字很高,您可能希望添加一个滚动容器。默认值为3。
注意:这个方法只针对multi-entry有效,针对entry无效。
代码1
package mainimport ("fyne.io/fyne/v2""fyne.io/fyne/v2/app""fyne.io/fyne/v2/container""fyne.io/fyne/v2/widget"
)func main() {myApp := app.New()myWindow := myApp.NewWindow("VPN")userEntry := widget.NewEntry()userL := widget.NewFormItem("USERNAME", userEntry)passEntry := widget.NewPasswordEntry()passL := widget.NewFormItem("PASSWORD", passEntry)form := widget.NewForm(userL, passL)txtArea := widget.NewMultiLineEntry()c := container.NewVBox(form, txtArea)myWindow.SetContent(c)myWindow.Resize(fyne.NewSize(300, 300))myWindow.Show()myApp.Run()
}
效果图如下:
代码2
package mainimport ("fyne.io/fyne/v2""fyne.io/fyne/v2/app""fyne.io/fyne/v2/container""fyne.io/fyne/v2/widget"
)func main() {myApp := app.New()myWindow := myApp.NewWindow("VPN")userEntry := widget.NewEntry()userL := widget.NewFormItem("USERNAME", userEntry)passEntry := widget.NewPasswordEntry()passL := widget.NewFormItem("PASSWORD", passEntry)form := widget.NewForm(userL, passL)txtArea := widget.NewMultiLineEntry()txtArea.SetMinRowsVisible(15)c := container.NewVBox(form, txtArea)myWindow.SetContent(c)myWindow.Resize(fyne.NewSize(300, 300))myWindow.Show()myApp.Run()
}
效果图如下:
可以看到txtArea.SetMinRowsVisible(15)
这个设置起了作用。