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
1219dd7b
Unverified
Commit
1219dd7b
authored
Dec 11, 2020
by
Sergio Eric
Committed by
GitHub
Dec 11, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
AdoptAWidget: PreferredSizeWidget (#69539)
Added 2 dartpad examples of PreferredSizeWidget usage
parent
fca65e4c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
71 additions
and
1 deletion
+71
-1
preferred_size.dart
packages/flutter/lib/src/widgets/preferred_size.dart
+71
-1
No files found.
packages/flutter/lib/src/widgets/preferred_size.dart
View file @
1219dd7b
...
...
@@ -18,7 +18,6 @@ import 'framework.dart';
///
/// Use [PreferredSize] to give a preferred size to an arbitrary widget.
abstract
class
PreferredSizeWidget
implements
Widget
{
/// The size this widget would prefer if it were otherwise unconstrained.
///
/// In many cases it's only necessary to define one preferred dimension.
...
...
@@ -34,6 +33,77 @@ abstract class PreferredSizeWidget implements Widget {
/// affect the child's layout in any way. It just advertises a preferred size
/// which can be used by the parent.
///
/// Widgets like [AppBar] implement a [PreferredSizeWidget].
///
/// {@tool dartpad --template=stateless_widget_material}
///
/// This sample shows a custom widget, similar to an [AppBar], which uses a
/// [PreferredSize] widget, with its height set to 80 logical pixels.
/// Changing the [PreferredSize] can be used to change the height
/// of the custom app bar.
///
/// ```dart preamble
/// class AppBarContent extends StatelessWidget {
/// @override
/// Widget build(BuildContext context) {
/// return Column(
/// mainAxisAlignment: MainAxisAlignment.end,
/// children: [
/// Padding(
/// padding: const EdgeInsets.symmetric(horizontal: 10),
/// child: Row(
/// children: [
/// Text(
/// "PreferredSize Sample",
/// style: TextStyle(color: Colors.white),
/// ),
/// Spacer(),
/// IconButton(
/// icon: Icon(
/// Icons.search,
/// size: 20,
/// ),
/// color: Colors.white,
/// onPressed: () {},
/// ),
/// IconButton(
/// icon: Icon(
/// Icons.more_vert,
/// size: 20,
/// ),
/// color: Colors.white,
/// onPressed: () {},
/// ),
/// ],
/// ),
/// ),
/// ],
/// );
/// }
/// }
/// ```
///```dart
/// Widget build(BuildContext context) {
/// return Scaffold(
/// appBar: PreferredSize(
/// preferredSize: const Size.fromHeight(80.0),
/// child: Container(
/// decoration: BoxDecoration(
/// gradient: LinearGradient(
/// colors: [Colors.blue, Colors.pink],
/// ),
/// ),
/// child: AppBarContent(),
/// ),
/// ),
/// body: Center(
/// child: Text("Content"),
/// ),
/// );
/// }
/// ```
/// {@end-tool}
///
/// See also:
///
/// * [AppBar.bottom] and [Scaffold.appBar], which require preferred size widgets.
...
...
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