flutter: 用visibility隐藏widget
一,代码:
controller:
import 'package:get/get.dart';
// 定义控制器
class VisibleController extends GetxController {
//变量obs
RxBool isVisible = true.obs;
//方法
void setIsVisble(value) {
isVisible.value = value;
}
}
view
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'VisibleController.dart';
class VisiblePage extends StatefulWidget {
@override
State<VisiblePage> createState() => _VisiblePageState();
}
class _VisiblePageState extends State<VisiblePage> {
VisibleController controller = Get.put(VisibleController());
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('GetView Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Obx(() => Text('isVisble: ${controller.isVisible.value}')),
Obx(() =>Visibility(
visible: controller.isVisible.value,
child: Text('这段文字可以看到'),
)),
ElevatedButton(
onPressed: () => controller.setIsVisble(true),
child: Text('使可见'),
),
ElevatedButton(
onPressed: () => controller.setIsVisble(false),
child: Text('使不可见'),
),
],
),
),
);
}
}
二,测试效果:
可见:

不可见:

浙公网安备 33010602011771号