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)
這個設置起了作用。