Unverified Commit 81e693a7 authored by Michael Goderbauer's avatar Michael Goderbauer Committed by GitHub

Add Sample code to SlideTransition (#41009)

parent 43932aa2
......@@ -101,6 +101,11 @@ follows:
`stateful_widget_scaffold`, except that it wraps the stateful widget with a
`Scaffold` _and_ a `Center`.
- [`stateful_widget_scaffold_center_freeform_state`](stateful_widget_scaffold_center_freeform_state.tmpl) :
Similar to `stateful_widget_scaffold_center` except that the code block has
to contain the entire state class defined as:
`class _MyStatefulWidgetState extends State<MyStatefulWidget>`
- [`stateless_widget_scaffold`](stateless_widget_scaffold.tmpl) : Similar to
`stateless_widget_material`, except that it wraps the stateless widget with a
`Scaffold`.
......
// Flutter code sample for {{id}}
{{description}}
import 'package:flutter/material.dart';
{{code-imports}}
void main() => runApp(new MyApp());
/// This Widget is the main application widget.
class MyApp extends StatelessWidget {
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
home: Scaffold(
appBar: AppBar(title: const Text(_title)),
body: Center(
child: MyStatefulWidget(),
),
),
);
}
}
{{code-preamble}}
class MyStatefulWidget extends StatefulWidget {
MyStatefulWidget({Key key}) : super(key: key);
@override
_MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}
{{code}}
......@@ -194,6 +194,51 @@ class _AnimatedState extends State<AnimatedWidget> {
/// animated by a [CurvedAnimation] set to [Curves.elasticIn]:
/// {@animation 300 378 https://flutter.github.io/assets-for-api-docs/assets/widgets/slide_transition.mp4}
///
/// {@tool snippet --template=stateful_widget_scaffold_center_freeform_state}
/// The following code implements the [SlideTransition] as seen in the video
/// above:
///
/// ```dart
/// class _MyStatefulWidgetState extends State<MyStatefulWidget> with SingleTickerProviderStateMixin {
/// AnimationController _controller;
/// Animation<Offset> _offsetAnimation;
///
/// @override
/// void initState() {
/// super.initState();
/// _controller = AnimationController(
/// duration: const Duration(seconds: 2),
/// vsync: this,
/// )..repeat(reverse: true);
/// _offsetAnimation = Tween<Offset>(
/// begin: Offset.zero,
/// end: const Offset(1.5, 0.0),
/// ).animate(CurvedAnimation(
/// parent: _controller,
/// curve: Curves.elasticIn,
/// ));
/// }
///
/// @override
/// void dispose() {
/// super.dispose();
/// _controller.dispose();
/// }
///
/// @override
/// Widget build(BuildContext context) {
/// return SlideTransition(
/// position: _offsetAnimation,
/// child: const Padding(
/// padding: EdgeInsets.all(8.0),
/// child: FlutterLogo(size: 150.0),
/// ),
/// );
/// }
/// }
/// ```
/// {@end-tool}
///
/// See also:
///
/// * [AlignTransition], an animated version of an [Align] that animates its
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment