Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ec028c3

Browse files
布局
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,

‎lib/components/progress_dialog.dart

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)

AltStyle によって変換されたページ (->オリジナル) /