Skip to content

Commit ec028c3

Browse files
committed
布局
1 parent 1012e72 commit ec028c3

File tree

5 files changed

+80
-33
lines changed

5 files changed

+80
-33
lines changed

example/lib/main.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ showAlertDialog(BuildContext context) {
3535
return Column(
3636
crossAxisAlignment: CrossAxisAlignment.start,
3737
children: <Widget>[
38-
Text("YYAlertDialog:"),
38+
Text("YYAlertDialog"),
3939
Row(
4040
children: <Widget>[
4141
makeTextButton("1", () {
@@ -49,6 +49,7 @@ showAlertDialog(BuildContext context) {
4949
}),
5050
],
5151
),
52+
Text("~ gravity"),
5253
Row(
5354
children: <Widget>[
5455
makeTextButton("bottom", () {
@@ -73,7 +74,7 @@ showListViewDialog(BuildContext context) {
7374
return Column(
7475
crossAxisAlignment: CrossAxisAlignment.start,
7576
children: <Widget>[
76-
Text("YYListViewDialog:"),
77+
Text("YYListViewDialog"),
7778
Row(
7879
children: <Widget>[
7980
makeTextButton("1", () {

lib/components/alert_dialog.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ YYDialog YYAlertDialog1(BuildContext context) {
2121
)
2222
..doubleButton(
2323
padding: EdgeInsets.only(top: 24.0),
24-
mainAxisAlignment: MainAxisAlignment.end,
24+
gravity: Gravity.right,
2525
text1: "ACTION 1",
2626
color1: Colors.deepPurpleAccent,
2727
fontSize1: 14.0,
@@ -49,7 +49,7 @@ YYDialog YYAlertDialog2(BuildContext context) {
4949
)
5050
..doubleButton(
5151
padding: EdgeInsets.only(top: 10.0),
52-
mainAxisAlignment: MainAxisAlignment.end,
52+
gravity: Gravity.right,
5353
text1: "CANCEL",
5454
color1: Colors.deepPurpleAccent,
5555
fontSize1: 14.0,
@@ -82,7 +82,7 @@ YYDialog YYAlertDialog3(BuildContext context) {
8282
)
8383
..doubleButton(
8484
padding: EdgeInsets.only(top: 24.0),
85-
mainAxisAlignment: MainAxisAlignment.end,
85+
gravity: Gravity.right,
8686
text1: "DISAGREE",
8787
color1: Colors.deepPurpleAccent,
8888
fontSize1: 14.0,
@@ -113,7 +113,7 @@ YYDialog YYAlertDialog4(BuildContext context) {
113113
)
114114
..doubleButton(
115115
padding: EdgeInsets.only(top: 24.0),
116-
mainAxisAlignment: MainAxisAlignment.end,
116+
gravity: Gravity.right,
117117
text1: "DISAGREE",
118118
color1: Colors.deepPurpleAccent,
119119
fontSize1: 14.0,
@@ -144,7 +144,7 @@ YYDialog YYAlertDialog5(BuildContext context) {
144144
)
145145
..doubleButton(
146146
padding: EdgeInsets.only(top: 24.0),
147-
mainAxisAlignment: MainAxisAlignment.end,
147+
gravity: Gravity.right,
148148
text1: "DISAGREE",
149149
color1: Colors.deepPurpleAccent,
150150
fontSize1: 14.0,
@@ -176,7 +176,7 @@ YYDialog YYAlertDialog6(BuildContext context) {
176176
)
177177
..doubleButton(
178178
padding: EdgeInsets.only(top: 24.0),
179-
mainAxisAlignment: MainAxisAlignment.end,
179+
gravity: Gravity.right,
180180
text1: "DISAGREE",
181181
color1: Colors.deepPurpleAccent,
182182
fontSize1: 14.0,
@@ -208,7 +208,7 @@ YYDialog YYAlertDialog7(BuildContext context) {
208208
)
209209
..doubleButton(
210210
padding: EdgeInsets.only(top: 24.0),
211-
mainAxisAlignment: MainAxisAlignment.end,
211+
gravity: Gravity.right,
212212
text1: "DISAGREE",
213213
color1: Colors.deepPurpleAccent,
214214
fontSize1: 14.0,

lib/components/listview_dialog.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
22
import 'package:flutter_custom_dialog/components/bean/dialog_item.dart';
33

44
import '../flutter_custom_dialog.dart';
5+
import 'bean/dialog_gravity.dart';
56

67
var listTileItems = [
78
ListTileItem(
@@ -161,7 +162,7 @@ YYDialog YYListViewDialog2(BuildContext context) {
161162
..divider()
162163
..doubleButton(
163164
padding: EdgeInsets.only(top: 8.0, bottom: 8.0),
164-
mainAxisAlignment: MainAxisAlignment.end,
165+
gravity: Gravity.right,
165166
text1: "CANCEL",
166167
color1: Colors.deepPurpleAccent,
167168
fontSize1: 14.0,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import 'package:flutter/material.dart';

lib/flutter_custom_dialog.dart

Lines changed: 67 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class YYDialog {
4646

4747
YYDialog doubleButton({
4848
padding,
49-
mainAxisAlignment,
49+
gravity,
5050
isClickAutoDismiss = true, //点击按钮后自动关闭
5151
text1,
5252
color1,
@@ -63,7 +63,7 @@ class YYDialog {
6363
Padding(
6464
padding: padding ?? EdgeInsets.all(0.0),
6565
child: Row(
66-
mainAxisAlignment: mainAxisAlignment,
66+
mainAxisAlignment: getRowMainAxisAlignment(gravity),
6767
children: <Widget>[
6868
FlatButton(
6969
onPressed: () {
@@ -210,27 +210,8 @@ class YYDialog {
210210
}
211211

212212
void show() {
213-
var mainAxisAlignment = MainAxisAlignment.start;
214-
var crossAxisAlignment = CrossAxisAlignment.center;
215-
switch (gravity) {
216-
case Gravity.bottom:
217-
mainAxisAlignment = MainAxisAlignment.end;
218-
break;
219-
case Gravity.top:
220-
mainAxisAlignment = MainAxisAlignment.start;
221-
break;
222-
case Gravity.left:
223-
mainAxisAlignment = MainAxisAlignment.center;
224-
crossAxisAlignment = CrossAxisAlignment.start;
225-
break;
226-
case Gravity.right:
227-
mainAxisAlignment = MainAxisAlignment.center;
228-
crossAxisAlignment = CrossAxisAlignment.end;
229-
break;
230-
default:
231-
mainAxisAlignment = MainAxisAlignment.center;
232-
break;
233-
}
213+
var mainAxisAlignment = getColumnMainAxisAlignment(gravity);
214+
var crossAxisAlignment = getColumnCrossAxisAlignment(gravity);
234215

235216
Size size = MediaQuery.of(context).size;
236217
CustomDialog(
@@ -269,6 +250,69 @@ class YYDialog {
269250
void dismiss() {
270251
Navigator.of(context).pop();
271252
}
253+
254+
getColumnMainAxisAlignment(gravity) {
255+
var mainAxisAlignment = MainAxisAlignment.start;
256+
switch (gravity) {
257+
case Gravity.bottom:
258+
mainAxisAlignment = MainAxisAlignment.end;
259+
break;
260+
case Gravity.top:
261+
mainAxisAlignment = MainAxisAlignment.start;
262+
break;
263+
case Gravity.left:
264+
mainAxisAlignment = MainAxisAlignment.center;
265+
break;
266+
case Gravity.right:
267+
mainAxisAlignment = MainAxisAlignment.center;
268+
break;
269+
case Gravity.center:
270+
default:
271+
mainAxisAlignment = MainAxisAlignment.center;
272+
break;
273+
}
274+
return mainAxisAlignment;
275+
}
276+
277+
getColumnCrossAxisAlignment(gravity) {
278+
var crossAxisAlignment = CrossAxisAlignment.center;
279+
switch (gravity) {
280+
case Gravity.bottom:
281+
break;
282+
case Gravity.top:
283+
break;
284+
case Gravity.left:
285+
crossAxisAlignment = CrossAxisAlignment.start;
286+
break;
287+
case Gravity.right:
288+
crossAxisAlignment = CrossAxisAlignment.end;
289+
break;
290+
default:
291+
break;
292+
}
293+
return crossAxisAlignment;
294+
}
295+
296+
getRowMainAxisAlignment(gravity) {
297+
var mainAxisAlignment = MainAxisAlignment.start;
298+
switch (gravity) {
299+
case Gravity.bottom:
300+
break;
301+
case Gravity.top:
302+
break;
303+
case Gravity.left:
304+
mainAxisAlignment = MainAxisAlignment.start;
305+
break;
306+
case Gravity.right:
307+
mainAxisAlignment = MainAxisAlignment.end;
308+
break;
309+
case Gravity.center:
310+
default:
311+
mainAxisAlignment = MainAxisAlignment.spaceAround;
312+
break;
313+
}
314+
return mainAxisAlignment;
315+
}
272316
}
273317

274318
class CustomDialog {

0 commit comments

Comments
 (0)