我正在使用图标+文本按钮的组合材料3作为我的主题。我已经做了我的功课和研究,尽我所能做的,作为最后一次绝望的尝试,我发布这个问题。我是初学者与Flutter。
这就是点击后发生的事情:
下面是widget的相关代码:
class TransactionButton extends StatelessWidget {
const TransactionButton({Key? key, required this.icon, required this.text, required this.onTap})
: super(key: key);
final void Function() onTap;
final IconData icon;
final String text;
@override
Widget build(BuildContext context) {
return InkWell(
onTap: onTap,
child: Container(
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.primaryContainer,
borderRadius: BorderRadius.circular(8),
),
child: Row(
children: [
Icon(icon, color: Theme.of(context).colorScheme.onPrimaryContainer,),
const SizedBox(width: 8,),
Text(
text,
style: Theme.of(context).textTheme.titleMedium?.copyWith(
color: Theme.of(context).colorScheme.onPrimaryContainer),
)
],
),
),
);
}
}
请记住,材料3是启用。如果你仔细检查所附的gif你会发现,在角落里,我可以看到涟漪效应。
2条答案
按热度按时间4dbbbstv1#
您可以尝试将此添加到InkWell
tp5buhyn2#
这是因为
Container
Widget的color
属性与InkWell
Widget的飞溅色重叠。您可以通过删除Container
Widget的color
并将Material
Widget Package 在InkWell
Widget顶部来解决此问题。类似的问题在这里被问到:- InkWell not showing ripple effect
样本代码:-
验证码:
输出:-