//注册数据监听器 <> 内是数据类型 你想要的类型 ()内是默认值
ValueNotifier<bool> _valueNotifier = ValueNotifier<bool>(false);
@override
Widget buildWidget(BuildContext context) {
return ValueListenableBuilder<bool>(
valueListenable: _valueNotifier,
builder: (context, value, child) {
return Visibility(
visible: value == true,
child: Container(
color: baseColor(),
width: getScreenWidth(),
height: MediaQuery.of(context).padding.top,
),
);
},
);
}
改变值 value可以是任何值 看你定义的值是什么
XXBaseBtn(
title: '点击',
ontap: () {
_valueNotifier.value = true;
},
)
全部代码 model
class XXValueNotifierTest extends StatefulWidget {
XXValueNotifierTest({Key key}) : super(key: key);
@override
_XXValueNotifierTestState createState() => _XXValueNotifierTestState();
}
class _XXValueNotifierTestState extends State<XXValueNotifierTest> {
//注册数据监听器 <> 内是数据类型 你想要的类型 ()内是默认值
ValueNotifier<bool> _valueNotifier = ValueNotifier<bool>(false);
@override
Widget build(BuildContext context) {
return Container(
child: Column(
children: [
ValueListenableBuilder<bool>(
valueListenable: _valueNotifier,
builder: (context, value, child) {
return Visibility(
visible: value == true,
child: Container(
color: baseColor(),
),
);
},
),
XXBaseBtn(
title: '点击',
ontap: () {
_valueNotifier.value = true;
},
)
],
),
);
}
}
网友评论