class_HomePageStateextendsState<HomePage>{String test="study state";bool isUppercase=false;voidchangeText(){setState((){isUppercase=!isUppercase;print(isUppercase?"大写":"小写");});}@override Widgetbuild(BuildContext context){returnScaffold(body:Align(alignment:Alignment.center,child:Container(width:200...
classMyAppextendsStatelessWidget{constMyApp({Key?key}):super(key:key);@override Widgetbuild(BuildContext context){returnGetMaterialApp(title:'Flutter Demo',theme:ThemeData(primarySwatch:Colors.blue,),home:HomePage(),);}} 1.状态管理 GetX 提供了两种响应式状态管理的方法:响应式变量方式和状态管理器方式。
import'package:get/get.dart';voidmain() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) {returnGetMaterialApp( title:'Get Example', initialRoute:'/', getPages: [ GetPage(name:'/', page: () =>HomePage()), GetPage(name:'/detail'...
classMyHomePageextendsStatefulWidget {constMyHomePage({super.key}); @override State<MyHomePage> createState() =>_MyHomePageState(); }class_MyHomePageStateextendsState<MyHomePage>{ RxInt _counter= 0.obs; @override Widget build(BuildContext context) {returnScaffold( appBar: AppBar( title:constText...
class YourController extends GetxController { var count = 0.obs; // 使用obs来声明一个可观察的状态 increment() { count++; } } class YourView extends GetView<YourController> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('Obx Example')), body...
Get.changeTheme( Get.isDarkMode ? ThemeData.light() : ThemeData.dark()); }, 多语言支持 多语言支持使用数据字典完成,在 GetMaterialApp 指定字典对象(继承自 Translations),使用字符串的时候假设.tr 后缀,就可以在切换语言的时候自动切换字符串对应语言的翻译了。 class GetXDemo extends StatelessWidget { ...
get/get.dart'; class GetXBindingExample extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("GetXBinding"), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, ...
class DependencyInjection {static void init() {Get.lazyPut(() => AuthService(AuthProvider()));Get.lazyPut(() => ChatService());// 继续添加其它依赖项}} 另外,使用GetX时,则顶层组件使用的是其包装的GetMaterialApp以替代MaterialApp。你可以选择在onInit中完成一些初始化工作, 比如: ...
然后,你可以在UI类中使用GetBuilder来监听这个CounterController对象。当CounterController对象的状态改变时,GetBuilder会自动重建,从而更新UI。 class CounterWidget extends StatelessWidget {@overrideWidget build(BuildContext context) {final counterController = Get.put(CounterController());return Scaffold(appBar: App...
class Controller extends GetxController{ var count = 0.obs; increment() => count++; } 步骤3: 创建你的View,使用StatelessWidget并节省一些RAM,使用Get你可能不再需要使用StatefulWidget。 class Home extends StatelessWidget { @override Widget build(context) { ...