如何解决颤振:在点击时更改容器的颜色
我想更改容器上的颜色和大小,但它不会改变任何内容,setState(()也无济于事
return Scaffold(
body: Ink(
child: InkWell(
child: Container(
width: double.infinity,height:double.infinity,color:Colors.blue,),onTap: () {
height:400;
color: Colors.red;
print("Click event on Container");
},)
),);
解决方法
fel本示例说明了如何切换蓝色和红色。
Color _colorContainer = Colors.blue;
现在,您可以按以下方式在小部件中使用它:
Ink(
child: InkWell(
child: Container(
width: 200,height: 200,color: _colorContainer,),onTap: () {
setState(() {
_colorContainer = _colorContainer == Colors.red ?
Colors.blue :
Colors.red;
});
},)),
,
使用变量:
class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
double _containerHeight = double.infinity;
Color _containerColor = Colors.blue;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Ink(
child: InkWell(
child: Container(
width: double.infinity,height: _containerHeight,color: _containerColor,onTap: () {
setState(() {
_containerHeight = 400;
_containerColor = Colors.red;
});
},);
}
}
,
您可以使用 TwinAnimation 。当您点击容器的主色更改为辅助色时。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。