Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Unified Diff: sky/sdk/lib/example/widgets/tabs.dart

Issue 1212993003: Add TabNavigator (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | sky/sdk/lib/widgets/tabs.dart » ('j') | sky/sdk/lib/widgets/tabs.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/sdk/lib/example/widgets/tabs.dart
diff --git a/sky/sdk/lib/example/widgets/tabs.dart b/sky/sdk/lib/example/widgets/tabs.dart
index 320b0fc57d858a63a41f3c2add80437bbbfbd510..7a58fbd66637aa26528d93f6e3da86eb0772a62c 100644
--- a/sky/sdk/lib/example/widgets/tabs.dart
+++ b/sky/sdk/lib/example/widgets/tabs.dart
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+import 'package:sky/painting/text_style.dart';
import 'package:sky/theme/colors.dart';
import 'package:sky/theme/typography.dart';
import 'package:sky/widgets/basic.dart';
@@ -12,36 +13,27 @@ import 'package:sky/widgets/tool_bar.dart';
import 'package:sky/widgets/widget.dart';
class TabbedNavigatorApp extends App {
- static Iterable<String> items = const <String>["ONE", "TWO", "FREE", "FOUR"];
- final List<int> navigatorSelections = new List<int>.filled(items.length, 0);
-
- Widget buildTabNavigator(Iterable<TabLabel> labels, int navigatorIndex) {
- TabBar tabBar = new TabBar(
- labels: labels.toList(),
- selectedIndex: navigatorSelections[navigatorIndex],
- onChanged: (selectionIndex) {
- setState(() {
- navigatorSelections[navigatorIndex] = selectionIndex;
- });
- }
+ Widget _buildContent(String label) {
+ return new Center(
+ child: new Text(label, style: const TextStyle(fontSize: 48.0, fontWeight: extraBold))
);
-
- return new Container(child: tabBar, margin: new EdgeDims.only(bottom: 16.0));
}
Widget build() {
- Iterable<TabLabel> textLabels = items
- .map((s) => new TabLabel(text: "ITEM " + s));
-
- Iterable<TabLabel> iconLabels = items
- .map((s) => new TabLabel(icon: 'action/search_white'));
-
- Iterable<TabLabel> textAndIconLabels = items
- .map((s) => new TabLabel(text: "ITEM " + s, icon: 'action/search_white'));
-
- var navigatorIndex = 0;
- Iterable<Widget> tabNavigators = [textLabels, iconLabels, textAndIconLabels]
- .map((labels) => buildTabNavigator(labels, navigatorIndex++));
+ List<TabNavigatorView> views = <TabNavigatorView>[
+ new TabNavigatorView(
+ label: const TabLabel(text: 'STOCKS', icon: 'action/list_white'),
+ content: () => _buildContent("Stocks")
+ ),
+ new TabNavigatorView(
+ label: const TabLabel(text: 'PORTFOLIO', icon: 'action/account_circle_white'),
+ content: () => _buildContent("Portfolio")
+ ),
+ new TabNavigatorView(
+ label: const TabLabel(text: 'SUMMARY', icon: 'action/assessment_white'),
+ content: () => _buildContent("Summary")
+ )
+ ];
ToolBar toolbar = new ToolBar(
center: new Text('Tabbed Navigator', style: white.title)
@@ -49,10 +41,7 @@ class TabbedNavigatorApp extends App {
return new Scaffold(
toolbar: toolbar,
- body: new Material(
- child: new Center(child: new Block(tabNavigators.toList())),
- color: Grey[500]
- )
+ body: new Material(child: new TabNavigator(views: views))
);
}
}
« no previous file with comments | « no previous file | sky/sdk/lib/widgets/tabs.dart » ('j') | sky/sdk/lib/widgets/tabs.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698