Skip to content

Commit 57ab0bc

Browse files
committed
GridView child_aspect_ratio
1 parent 94afb26 commit 57ab0bc

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

client/lib/controls/grid_view.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class GridViewControl extends StatelessWidget {
3030
final spacing = control.attrDouble("spacing", 10)!;
3131
final runSpacing = control.attrDouble("runSpacing", 10)!;
3232
final padding = parseEdgeInsets(control, "padding");
33+
final childAspectRatio = control.attrDouble("childAspectRatio", 1)!;
3334

3435
List<Control> visibleControls = children.where((c) => c.isVisible).toList();
3536

@@ -38,12 +39,12 @@ class GridViewControl extends StatelessWidget {
3839
crossAxisCount: runsCount,
3940
mainAxisSpacing: spacing,
4041
crossAxisSpacing: runSpacing,
41-
childAspectRatio: 1)
42+
childAspectRatio: childAspectRatio)
4243
: SliverGridDelegateWithMaxCrossAxisExtent(
4344
maxCrossAxisExtent: maxExtent,
4445
mainAxisSpacing: spacing,
4546
crossAxisSpacing: runSpacing,
46-
childAspectRatio: 1);
47+
childAspectRatio: childAspectRatio);
4748

4849
return constrainedControl(
4950
GridView.builder(

sdk/python/flet/grid_view.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def __init__(
3030
max_extent: int = None,
3131
spacing: OptionalNumber = None,
3232
run_spacing: OptionalNumber = None,
33+
child_aspect_ratio: OptionalNumber = None,
3334
padding: PaddingValue = None,
3435
):
3536
ConstrainedControl.__init__(
@@ -51,6 +52,7 @@ def __init__(
5152
self.max_extent = max_extent
5253
self.spacing = spacing
5354
self.run_spacing = run_spacing
55+
self.child_aspect_ratio = child_aspect_ratio
5456
self.padding = padding
5557

5658
def _get_control_name(self):
@@ -109,6 +111,16 @@ def run_spacing(self):
109111
def run_spacing(self, value: OptionalNumber):
110112
self._set_attr("runSpacing", value)
111113

114+
# child_aspect_ratio
115+
@property
116+
def child_aspect_ratio(self):
117+
return self._get_attr("childAspectRatio")
118+
119+
@child_aspect_ratio.setter
120+
@beartype
121+
def child_aspect_ratio(self, value: OptionalNumber):
122+
self._set_attr("childAspectRatio", value)
123+
112124
# padding
113125
@property
114126
def padding(self):

sdk/python/playground/icons-browser.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,12 @@ def main(page: Page):
4646
# search_results = ListView(expand=1, wrap=True, scroll="always")
4747
# search_results = ListView(expand=1, spacing=2)
4848
search_results = GridView(
49-
expand=1, runs_count=10, max_extent=100, spacing=5, run_spacing=5
49+
expand=1,
50+
runs_count=10,
51+
max_extent=150,
52+
spacing=5,
53+
run_spacing=5,
54+
child_aspect_ratio=2,
5055
)
5156

5257
def display_icons(search_term: str):
@@ -101,4 +106,4 @@ def search_click(e):
101106
)
102107

103108

104-
flet.app(name="test1", port=8550, target=main, view=flet.FLET_APP)
109+
flet.app(name="test1", port=8550, target=main, view=flet.WEB_BROWSER)

0 commit comments

Comments
 (0)