layout

package
v2.5.2-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2024 License: BSD-3-Clause Imports: 4 Imported by: 740

Documentation

Overview

Package layout defines the various layouts available to Fyne apps.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAdaptiveGridLayout

func NewAdaptiveGridLayout(rowcols int) fyne.Layout

NewAdaptiveGridLayout returns a new grid layout which uses columns when horizontal but rows when vertical.

func NewBorderLayout

func NewBorderLayout(top, bottom, left, right fyne.CanvasObject) fyne.Layout

NewBorderLayout creates a new BorderLayout instance with top, bottom, left and right objects set. All other items in the container will fill the remaining space in the middle. Multiple extra items will be stacked in the specified order as a Stack container.

func NewCenterLayout

func NewCenterLayout() fyne.Layout

NewCenterLayout creates a new CenterLayout instance

func NewCustomPaddedHBoxLayout added in v2.5.0

func NewCustomPaddedHBoxLayout(padding float32) fyne.Layout

NewCustomPaddedHBoxLayout returns a layout similar to HBoxLayout that uses a custom amount of padding in between objects instead of the theme.Padding value.

Since: 2.5

func NewCustomPaddedLayout added in v2.5.0

func NewCustomPaddedLayout(padTop, padBottom, padLeft, padRight float32) fyne.Layout

NewCustomPaddedLayout creates a new CustomPaddedLayout instance with the specified paddings.

Since: 2.5

func NewCustomPaddedVBoxLayout added in v2.5.0

func NewCustomPaddedVBoxLayout(padding float32) fyne.Layout

NewCustomPaddedVBoxLayout returns a layout similar to VBoxLayout that uses a custom amount of padding in between objects instead of the theme.Padding value.

Since: 2.5

func NewFormLayout

func NewFormLayout() fyne.Layout

NewFormLayout returns a new FormLayout instance

func NewGridLayout

func NewGridLayout(cols int) fyne.Layout

NewGridLayout returns a grid layout arranged in a specified number of columns. The number of rows will depend on how many children are in the container that uses this layout.

func NewGridLayoutWithColumns

func NewGridLayoutWithColumns(cols int) fyne.Layout

NewGridLayoutWithColumns returns a new grid layout that specifies a column count and wrap to new rows when needed.

func NewGridLayoutWithRows

func NewGridLayoutWithRows(rows int) fyne.Layout

NewGridLayoutWithRows returns a new grid layout that specifies a row count that creates new rows as required.

func NewGridWrapLayout

func NewGridWrapLayout(size fyne.Size) fyne.Layout

NewGridWrapLayout returns a new GridWrapLayout instance

func NewHBoxLayout

func NewHBoxLayout() fyne.Layout

NewHBoxLayout returns a horizontal box layout for stacking a number of child canvas objects or widgets left to right. The objects are always displayed at their horizontal MinSize. Use a different layout if the objects are intended to be larger than their horizontal MinSize.

func NewMaxLayout deprecated

func NewMaxLayout() fyne.Layout

NewMaxLayout creates a new MaxLayout instance

Deprecated: Use layout.NewStackLayout() instead.

func NewPaddedLayout

func NewPaddedLayout() fyne.Layout

NewPaddedLayout creates a new PaddedLayout instance

Since: 1.4

func NewSpacer

func NewSpacer() fyne.CanvasObject

NewSpacer returns a spacer object which can fill vertical and horizontal space. This is primarily used with a box layout.

func NewStackLayout added in v2.4.0

func NewStackLayout() fyne.Layout

NewStackLayout returns a new StackLayout instance. Objects are stacked on top of each other with later objects on top of those before. Having only a single object has no impact as CanvasObjects will fill the available space even without a Stack.

Since: 2.4

func NewVBoxLayout

func NewVBoxLayout() fyne.Layout

NewVBoxLayout returns a vertical box layout for stacking a number of child canvas objects or widgets top to bottom. The objects are always displayed at their vertical MinSize. Use a different layout if the objects are intended to be larger than their vertical MinSize.

Types

type CustomPaddedLayout added in v2.5.0

type CustomPaddedLayout struct {
	TopPadding    float32
	BottomPadding float32
	LeftPadding   float32
	RightPadding  float32
}

CustomPaddedLayout is a layout similar to PaddedLayout, but uses custom values for padding on each side, rather than the theme padding value.

Since: 2.5

func (CustomPaddedLayout) Layout added in v2.5.0

func (c CustomPaddedLayout) Layout(objects []fyne.CanvasObject, size fyne.Size)

Layout is called to pack all child objects into a specified size. For CustomPaddedLayout this sets all children to the full size passed minus the given paddings all around.

func (CustomPaddedLayout) MinSize added in v2.5.0

func (c CustomPaddedLayout) MinSize(objects []fyne.CanvasObject) (min fyne.Size)

MinSize finds the smallest size that satisfies all the child objects. For CustomPaddedLayout this is determined simply as the MinSize of the largest child plus the given paddings all around.

type Spacer

type Spacer struct {
	FixHorizontal bool
	FixVertical   bool
	// contains filtered or unexported fields
}

Spacer is any simple object that can be used in a box layout to space out child objects

func (*Spacer) ExpandHorizontal

func (s *Spacer) ExpandHorizontal() bool

ExpandHorizontal returns whether or not this spacer expands on the horizontal axis

func (*Spacer) ExpandVertical

func (s *Spacer) ExpandVertical() bool

ExpandVertical returns whether or not this spacer expands on the vertical axis

func (*Spacer) Hide

func (s *Spacer) Hide()

Hide removes this Spacer from layout calculations

func (*Spacer) MinSize

func (s *Spacer) MinSize() fyne.Size

MinSize returns a 0 size as a Spacer can shrink to no actual size

func (*Spacer) Move

func (s *Spacer) Move(pos fyne.Position)

Move sets a new position for the Spacer - this will be called by the layout

func (*Spacer) Position

func (s *Spacer) Position() fyne.Position

Position returns the current position of this Spacer

func (*Spacer) Refresh

func (s *Spacer) Refresh()

Refresh does nothing for a spacer but is part of the CanvasObject definition

func (*Spacer) Resize

func (s *Spacer) Resize(size fyne.Size)

Resize sets a new size for the Spacer - this will be called by the layout

func (*Spacer) Show

func (s *Spacer) Show()

Show sets the Spacer to be part of the layout calculations

func (*Spacer) Size

func (s *Spacer) Size() fyne.Size

Size returns the current size of this Spacer

func (*Spacer) Visible

func (s *Spacer) Visible() bool

Visible returns true if this spacer should affect the layout

type SpacerObject

type SpacerObject interface {
	ExpandVertical() bool
	ExpandHorizontal() bool
}

SpacerObject is any object that can be used to space out child objects

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL