在Flutter 2.0中,要在按下时更改TextButton的闪屏颜色,可以通过自定义ButtonStyle来实现。以下是实现的步骤:
import 'package:flutter/material.dart';
class MyButton extends StatefulWidget {
@override
_MyButtonState createState() => _MyButtonState();
}
class _MyButtonState extends State<MyButton> {
bool _isPressed = false; // 用于跟踪按钮是否被按下
@override
Widget build(BuildContext context) {
return TextButton(
style: ButtonStyle(
backgroundColor: _isPressed ? MaterialStateProperty.all(Colors.blue) : null,
// 设置按下时的背景颜色为蓝色,未按下时为默认值(null)
),
onPressed: () {
setState(() {
_isPressed = !_isPressed; // 切换按钮状态
});
},
child: Text('Press Me'),
);
}
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Flutter 2.0 - Change TextButton Color')),
body: Center(
child: MyButton(), // 使用自定义的按钮
),
),
);
}
}
void main() {
runApp(MyApp());
}
这样,当用户按下按钮时,按钮的背景颜色将切换为蓝色,再次按下时将恢复为默认颜色。
关于Flutter的更多信息,你可以访问腾讯云的相关文档和资源:
领取专属 10元无门槛券
手把手带您无忧上云