gpt4 book ai didi

button - 按下时带有渐变的 Flutter 按钮,因为它的突出显示颜色

转载 作者:IT王子 更新时间:2023-10-29 06:55:50 26 4
gpt4 key购买 nike

我有一个带有渐变颜色的按钮,所以我希望渐变在按下时反转,然后在松开时让渐变颜色恢复到开始时的状态。

我有一个数组中的渐变颜色,因此可以很容易地交换,但不确定如何做到这一点。我之前用 React Native 做过这个效果,所以我想知道如何用 Flutter 做这个。

目前它只是在按下 highlightColor 时使用一种颜色,但这看起来太基本了。

 const gradientcolours = [
[Color(0xFF00000), Color(0xFFFFFFF)],
[Color(0xFFFFFFF), Color(0xFF00000)]
];

return Container(
padding: EdgeInsets.all(20),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(60),
),
child: Container(
padding: EdgeInsets.all(2),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(60),
gradient: LinearGradient(
begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: gradientcolours[0]),
),
child: RawMaterialButton(
splashColor: Color(0xFF030303),
highlightColor: Color(0xFF030303),
child: Text('Press'),
child: Container(
height: 40,
width: 40,
),
),
onPressed: onPressed,
constraints: BoxConstraints.tightFor(
width: 80,
height: 80,
),
shape: CircleBorder(),
),
),
);

最佳答案

你可以试试这样的:

int index = 0;

/* ... */

Listener(
child: Container(
padding: EdgeInsets.all(2),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(60),
gradient: LinearGradient(
begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: gradientcolours[index]),
),
/* ... */
),
onPointerDown: (_) {
setState(() {
index = 1;
});
},
onPointerUp: (_) {
setState(() {
index = 0;
});
},
);

关于button - 按下时带有渐变的 Flutter 按钮,因为它的突出显示颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57507652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com