Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
513c6cd7
Unverified
Commit
513c6cd7
authored
Feb 15, 2022
by
Taha Tesser
Committed by
GitHub
Feb 15, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CupertinoAlertDialog: Update sample (#98357)
parent
7d21dbf5
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
105 additions
and
46 deletions
+105
-46
cupertino_alert_dialog.0.dart
...es/api/lib/cupertino/dialog/cupertino_alert_dialog.0.dart
+76
-0
cupertino_alert_dialog.0_test.dart
.../test/cupertino/dialog/cupertino_alert_dialog.0_test.dart
+27
-0
dialog.dart
packages/flutter/lib/src/cupertino/dialog.dart
+2
-46
No files found.
examples/api/lib/cupertino/dialog/cupertino_alert_dialog.0.dart
0 → 100644
View file @
513c6cd7
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flutter code sample for CupertinoAlertDialog
import
'package:flutter/cupertino.dart'
;
void
main
(
)
=>
runApp
(
const
MyApp
());
class
MyApp
extends
StatelessWidget
{
const
MyApp
({
Key
?
key
})
:
super
(
key:
key
);
static
const
String
_title
=
'CupertinoAlertDialog Sample'
;
@override
Widget
build
(
BuildContext
context
)
{
return
const
CupertinoApp
(
title:
_title
,
home:
ActionSheetSample
(
title:
_title
),
);
}
}
class
ActionSheetSample
extends
StatelessWidget
{
const
ActionSheetSample
({
Key
?
key
,
required
this
.
title
})
:
super
(
key:
key
);
final
String
title
;
// This shows a CupertinoModalPopup which hosts a CupertinoAlertDialog.
void
_showAlertDialog
(
BuildContext
context
)
{
showCupertinoModalPopup
<
void
>(
context:
context
,
builder:
(
BuildContext
context
)
=>
CupertinoAlertDialog
(
title:
const
Text
(
'Alert'
),
content:
const
Text
(
'Proceed with destructive action?'
),
actions:
<
CupertinoDialogAction
>[
CupertinoDialogAction
(
/// This parameter indicates this action is the default,
/// and turns the action's text to bold text.
isDefaultAction:
true
,
onPressed:
()
{
Navigator
.
pop
(
context
);
},
child:
const
Text
(
'No'
),
),
CupertinoDialogAction
(
/// This parameter indicates the action would perform
/// a destructive action such as deletion, and turns
/// the action's text color to red.
isDestructiveAction:
true
,
onPressed:
()
{
Navigator
.
pop
(
context
);
},
child:
const
Text
(
'Yes'
),
)
],
),
);
}
@override
Widget
build
(
BuildContext
context
)
{
return
CupertinoPageScaffold
(
navigationBar:
CupertinoNavigationBar
(
middle:
Text
(
title
),
),
child:
Center
(
child:
CupertinoButton
(
onPressed:
()
=>
_showAlertDialog
(
context
),
child:
const
Text
(
'CupertinoAlertDialog'
),
),
),
);
}
}
examples/api/test/cupertino/dialog/cupertino_alert_dialog.0_test.dart
0 → 100644
View file @
513c6cd7
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'package:flutter/cupertino.dart'
;
import
'package:flutter_api_samples/cupertino/dialog/cupertino_alert_dialog.0.dart'
as
example
;
import
'package:flutter_test/flutter_test.dart'
;
void
main
(
)
{
testWidgets
(
'Perform an action on CupertinoAlertDialog'
,
(
WidgetTester
tester
)
async
{
const
String
actionText
=
'Yes'
;
await
tester
.
pumpWidget
(
const
example
.
MyApp
(),
);
// Launch the CupertinoAlertDialog.
await
tester
.
tap
(
find
.
byType
(
CupertinoButton
));
await
tester
.
pump
();
await
tester
.
pumpAndSettle
();
expect
(
find
.
text
(
actionText
),
findsOneWidget
);
// Tap on an action to close the CupertinoAlertDialog.
await
tester
.
tap
(
find
.
text
(
actionText
));
await
tester
.
pumpAndSettle
();
expect
(
find
.
text
(
actionText
),
findsNothing
);
});
}
packages/flutter/lib/src/cupertino/dialog.dart
View file @
513c6cd7
...
...
@@ -173,56 +173,12 @@ bool _isInAccessibilityMode(BuildContext context) {
/// Typically passed as the child widget to [showDialog], which displays the
/// dialog.
///
/// {@tool
snippet
}
/// {@tool
dartpad
}
/// This sample shows how to use a [CupertinoAlertDialog].
/// The [CupertinoAlertDialog] shows an alert with a set of two choices
/// when [CupertinoButton] is pressed.
///
/// ```dart
/// class MyStatefulWidget extends StatefulWidget {
/// const MyStatefulWidget({Key? key}) : super(key: key);
///
/// @override
/// State<MyStatefulWidget> createState() => _MyStatefulWidgetState();
/// }
///
/// class _MyStatefulWidgetState extends State<MyStatefulWidget> {
/// @override
/// Widget build(BuildContext context) {
/// return CupertinoPageScaffold(
/// child: Center(
/// child: CupertinoButton(
/// onPressed: () {
/// showCupertinoDialog<void>(
/// context: context,
/// builder: (BuildContext context) => CupertinoAlertDialog(
/// title: const Text('Alert'),
/// content: const Text('Proceed with destructive action?'),
/// actions: <CupertinoDialogAction>[
/// CupertinoDialogAction(
/// child: const Text('No'),
/// onPressed: () {
/// Navigator.pop(context);
/// },
/// ),
/// CupertinoDialogAction(
/// child: const Text('Yes'),
/// isDestructiveAction: true,
/// onPressed: () {
/// // Do something destructive.
/// },
/// )
/// ],
/// ),
/// );
/// },
/// child: const Text('CupertinoAlertDialog'),
/// ),
/// ),
/// );
/// }
/// }
/// ```
/// ** See code in examples/api/lib/cupertino/dialog/cupertino_alert_dialog.0.dart **
/// {@end-tool}
///
/// See also:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment