| import 'package:sky/widgets/basic.dart'; |
| |
| final BoxDecoration _decoration = new BoxDecoration( |
| backgroundColor: const Color(0xFFFF00FF), |
| borderRadius: 5.0/*, |
| gradient: new LinearGradient( |
| endPoints: [ Point.origin, const Point(0.0, 36.0) ], |
| colors: [ const Color(0xFFEEEEEE), const Color(0xFFCCCCCC) ] |
| )*/ |
| ); |
| |
| class MyButton extends Component { |
| final Widget child; |
| final Function onPressed; |
| final Function onPointerDown; |
| final Function onPointerMove; |
| final Function onPointerUp; |
| |
| MyButton({this.child, this.onPressed, this.onPointerDown, this.onPointerMove, this.onPointerUp}); |
| |
| Container makeContainer() { |
| return new Container( |
| //height: 36.0, |
| //padding: const EdgeDims.all(8.0), |
| //margin: const EdgeDims.symmetric(horizontal: 8.0), |
| decoration: _decoration, |
| child: new Center( |
| child: this.child |
| ) |
| ); |
| } |
| |
| Widget build() { |
| return new Listener( |
| // Listeners have these possibly fields https://github.com/domokit/sky_engine/blob/2e8843893b9c1cef0f0f9d9e00d384fca7a70d23/sky/packages/sky/lib/widgets/framework.dart |
| onGestureTap: (e) { |
| print('MyButton was tapped!'); |
| if (this.onPressed != null) { |
| this.onPressed(e); |
| } |
| }, |
| onPointerDown: (e) { |
| print('MyButton was scrolled!'); |
| if (this.onPointerDown != null) { |
| this.onPointerDown(e); |
| } |
| }, |
| onPointerMove: (e) { |
| print('MyButton continues to be scrolled!'); |
| if (this.onPointerMove != null) { |
| this.onPointerMove(e); |
| } |
| }, |
| onPointerUp: (e) { |
| print('MyButton pointer up!'); |
| if (this.onPointerUp != null) { |
| this.onPointerUp(e); |
| } |
| }, |
| child: makeContainer() |
| ); |
| } |
| } |