【发布时间】:2021-02-24 05:17:27
【问题描述】:
在这里,我在列小部件中排列了三个按钮,我希望它们在我单击 OnTapDown() 时单独隐藏,并在按下其中一个按钮时单独显示在 onTapUp() 上,但不幸的是,当我单击其中一个按钮时其中的显示和隐藏一次。我很困惑如何解决这个问题并获得理想的结果。
-- 这是我的代码,您可以查看。
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: MyApp(),
));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
var text1 = '';
double hide = 1;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Align(
alignment: Alignment.center,
child: Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ball(text: 'A'),
ball(text: 'B'),
ball(text: 'C'),
],
),
),
));
}
Widget ball({String text = ''}) {
return GestureDetector(
onTapDown: (TapDownDetails details) {
setState(() {
hide = 0;
});
},
onTapUp: (TapUpDetails details) {
setState(() {
hide = 1;
});
},
child: Opacity(
opacity: hide,
child: ClipOval(
child: Container(
color: Colors.black,
width: 100,
height: 100,
child: Center(
child: Text(
text,
style: TextStyle(
color: Colors.red,
fontSize: 40,
fontWeight: FontWeight.bold,
),
),
),
),
),
),
);
}
}
【问题讨论】:
标签: flutter dart flutter-layout flutter-test