| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import 'package:flutter/material.dart';
- import 'package:link/utils/global.dart';
- import '../../utils/size_fit.dart';
- class Button extends StatefulWidget {
- Widget child;
- var callback;
- Button({Key? key, required this.child, required this.callback})
- : super(key: key);
- @override
- State<Button> createState() => _ButtonState();
- }
- class _ButtonState extends State<Button> {
- double scale = 1.0;
- double alpha = 1.0;
- bool isTrue = false;
- @override
- void initState() {
- if (Global().eventBus != null) {
- Global().eventBus!.on().listen((event) {
- if (scale != 1.0) {
- setState(() {
- scale = 1.0;
- alpha = 1.0;
- });
- }
- });
- }
- super.initState();
- }
- @override
- Widget build(BuildContext context) {
- SizeFit.initialize(context);
- return GestureDetector(
- onTap: () {
- widget.callback();
- },
- onTapDown: (TapDownDetails details) {
- setState(() {
- scale = 0.95;
- alpha = 0.8;
- });
- },
- onTapUp: (TapUpDetails details) {
- setState(() {
- scale = 1.0;
- alpha = 1.0;
- });
- },
- // onVerticalDragEnd: (details){
- // setState(() {
- // scale = 1.0;
- // alpha = 1.0;
- // });
- // },
- // onLongPressUp: () {
- // setState(() {
- // scale = 1.0;
- // alpha = 1.0;
- // });
- // },
- // onLongPressCancel: (() {
- // setState(() {
- // scale = 1.0;
- // alpha = 1.0;
- // });
- // }),
- // onLongPressMoveUpdate: (details){
- // },
- onTapCancel: () {
- setState(() {
- scale = 1.0;
- alpha = 1.0;
- });
- },
- child: Transform.scale(
- scale: scale, child: Opacity(opacity: alpha, child: widget.child)));
- }
- }
|