Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振-自定义按钮上的响应_Flutter_Dart - Fatal编程技术网

Flutter 颤振-自定义按钮上的响应

Flutter 颤振-自定义按钮上的响应,flutter,dart,Flutter,Dart,我想创造一个渐变的按钮和准确的配置。由于我无法使用RaisedButton,我不得不从头开始重新创建一个。一切都是完美的,除了一件事:我没有墨水的反应,我与提高按钮。我原以为在树中添加InkResponse小部件就可以了,但它没有做任何事情:/ @覆盖 小部件构建(构建上下文){ 退货( 标高:7.0, borderRadius:borderRadius.all(半径圆形(10.0)), 孩子:InkResponse( 孩子:墨水( 装饰:盒子装饰( 梯度:梯度, borderRadius:b

我想创造一个渐变的按钮和准确的配置。由于我无法使用
RaisedButton
,我不得不从头开始重新创建一个。一切都是完美的,除了一件事:我没有墨水的反应,我与提高按钮。我原以为在树中添加
InkResponse
小部件就可以了,但它没有做任何事情:/

@覆盖
小部件构建(构建上下文){
退货(
标高:7.0,
borderRadius:borderRadius.all(半径圆形(10.0)),
孩子:InkResponse(
孩子:墨水(
装饰:盒子装饰(
梯度:梯度,
borderRadius:borderRadius.all(半径圆形(10.0)),
),
子:容器(
约束:BoxConstraints.expand(高度:48),
孩子:排(
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
尺寸箱(宽度:48),
扩大(
儿童:中心(
子:文本(
文本,
样式:MC_callToActionGradientText,
),
),
),
大小盒子(
宽度:48.0,
子:图标(
偶像
颜色:颜色,白色,
尺寸:23.0,
),
)
],
),
),
),
),
);
}

您必须提供对InkResponse的某种回调,以使飞溅可见,例如,
onTap
onLongPress
等。但如果您像@Tipu提到的那样做,看起来很奇怪,在这种情况下,只需使用InkWell就更容易了。看起来是这样的:

class MyButton扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
退货(
标高:7.0,
borderRadius:borderRadius.all(半径圆形(10.0)),
孩子:InkWell(
onTap:(){},
孩子:墨水(
装饰:盒子装饰(
渐变:LinearGradient(颜色:[colors.red,colors.pink]),
borderRadius:borderRadius.all(半径圆形(10.0)),
),
身高:48,
孩子:排(
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
尺寸箱(宽度:48),
扩大(
儿童:中心(
子:文本(
“你好”,
),
),
),
大小盒子(
宽度:48.0,
子:图标(
Icons.send,
颜色:颜色,白色,
尺寸:23.0,
),
)
],
),
),
),
);
}
}

使用InkWell instate of InkResponse我也尝试过,但它仍然没有做任何事情我看到,我不知道在填写onTap参数之前它是不可见的。谢谢