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

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

Issue 1226133004: Switch scroll physics over to using newton (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: analyzer nit Created 5 years, 5 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 | « sky/sdk/lib/widgets/scrollable.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/sdk/lib/widgets/tabs.dart
diff --git a/sky/sdk/lib/widgets/tabs.dart b/sky/sdk/lib/widgets/tabs.dart
index 89917b594e96abbcd213e670ef1320b06254f65c..bb12080c7de101b4b40c032822404ddc1860278c 100644
--- a/sky/sdk/lib/widgets/tabs.dart
+++ b/sky/sdk/lib/widgets/tabs.dart
@@ -4,13 +4,10 @@
import 'dart:math' as math;
-import 'package:sky/animation/generators.dart';
-import 'package:sky/animation/mechanics.dart';
import 'package:sky/animation/scroll_behavior.dart';
import 'package:sky/painting/text_style.dart';
import 'package:sky/rendering/box.dart';
import 'package:sky/rendering/object.dart';
-import 'package:vector_math/vector_math.dart';
import 'package:sky/theme/colors.dart' as colors;
import 'package:sky/theme/typography.dart' as typography;
import 'package:sky/widgets/basic.dart';
@@ -20,6 +17,7 @@ import 'package:sky/widgets/ink_well.dart';
import 'package:sky/widgets/scrollable.dart';
import 'package:sky/widgets/theme.dart';
import 'package:sky/widgets/widget.dart';
+import 'package:vector_math/vector_math.dart';
typedef void SelectedIndexChanged(int selectedIndex);
typedef void LayoutChanged(Size size, List<double> widths);
@@ -347,27 +345,6 @@ class Tab extends Component {
}
}
-class TabBarScrollBehavior extends ScrollBehavior {
- TabBarScrollBehavior({ this.maxScrollOffset: 0.0 });
-
- double maxScrollOffset;
-
- Simulation release(Particle particle) {
- if (particle.velocity == 0.0 || particle.position < 0.0 || particle.position >= maxScrollOffset)
- return null;
-
- System system = new ParticleInBoxWithFriction(
- particle: particle,
- friction: _kTabBarScrollFriction,
- box: new ClosedBox(min: 0.0, max: maxScrollOffset));
- return new Simulation(system, terminationCondition: () => particle.position == 0.0);
- }
-
- double applyCurve(double scrollOffset, double scrollDelta) {
- return (scrollOffset + scrollDelta).clamp(0.0, maxScrollOffset);
- }
-}
-
class TabBar extends Scrollable {
TabBar({
String key,
@@ -392,8 +369,8 @@ class TabBar extends Scrollable {
scrollTo(0.0);
}
- ScrollBehavior createScrollBehavior() => new TabBarScrollBehavior();
- TabBarScrollBehavior get scrollBehavior => super.scrollBehavior;
+ ScrollBehavior createScrollBehavior() => new FlingBehavior();
+ FlingBehavior get scrollBehavior => super.scrollBehavior;
void _handleTap(int tabIndex) {
if (tabIndex != selectedIndex && onChanged != null)
@@ -419,8 +396,8 @@ class TabBar extends Scrollable {
setState(() {
_tabBarSize = tabBarSize;
_tabWidths = tabWidths;
- scrollBehavior.maxScrollOffset =
- _tabWidths.reduce((sum, width) => sum + width) - _tabBarSize.width;
+ scrollBehavior.containerSize = _tabBarSize.width;
+ scrollBehavior.contentsSize = _tabWidths.reduce((sum, width) => sum + width);
});
}
« no previous file with comments | « sky/sdk/lib/widgets/scrollable.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698