widget/material: use more efficient way of scrolling lists

Signed-off-by: Dominik Honnef <dominik@honnef.co>
This commit is contained in:
Dominik Honnef
2023-02-17 20:07:45 +01:00
committed by Elias Naur
parent 8af4472672
commit 5f818bc5e7
+1 -6
View File
@@ -292,12 +292,7 @@ func (l ListStyle) Layout(gtx layout.Context, length int, w layout.ListElement)
if delta := l.state.ScrollDistance(); delta != 0 {
// Handle any changes to the list position as a result of user interaction
// with the scrollbar.
l.state.List.Position.Offset += int(math.Round(float64(float32(l.state.Position.Length) * delta)))
// Ensure that the list pays attention to the Offset field when the scrollbar drag
// is started while the bar is at the end of the list. Without this, the scrollbar
// cannot be dragged away from the end.
l.state.List.Position.BeforeEnd = true
l.state.List.ScrollBy(delta * float32(length))
}
if l.AnchorStrategy == Occupy {