安卓
主页面的配置
<activityandroid:name=".MainActivity"
对应Java或kotlin代码同名路径src/main/kotlin/com/example/xxx/
下的对应主类文件MainActivity.java MainActivity.kt
布局Widge
Row主轴是水平方向,Column主轴是垂直方向
对齐都是靠mainAxisAlignment
和crossAxisAlignment
调整
Getx相关
前后数据变动依靠obs变量
var count = 0.obs;
// 使用 .obs 将变量转换为响应式变量
void increment() => count.value++;
// 修改值时通过 .value 访问实际数据
child: Obx(() { // 使用 Obx 包裹需要监听变化的部件return Text('Count: $ {controller.count}',style: TextStyle(fontSize: 24),);
或GetBuilder<XxLogic>(builder: (logic) {}
根据响应重新构建组件
滑动组件事例
Scrollable(viewportBuilder: (c, v) =>ListView.builder(itemCount: l.length,itemBuilder: (ctx, i) =>ListTile(title: Text(l[i].appName),subtitle: Text(''),trailing: logic.timeFormat(l[i], logic.lt),)),);
对象列表属性排序事例
void sort(int f){list = [];list.addAll(_l);if (f > 0) {list.sort((a,b) {var x;switch(f){case 1: x = a.usage.inSeconds.compareTo(b.usage.inSeconds);case 2: x = b.usage.inSeconds.compareTo(a.usage.inSeconds);case 3: x = a.appName[0].compareTo(b.appName[0]);case 4: x = b.appName[0].compareTo(a.appName[0]);}return x;});}
时间选择事例
DateTimeRange dtr = (await showDateRangePicker(context: ctx,firstDate: DateTime.now().subtract(Duration(days: 30)),lastDate: DateTime.now().add(Duration(days: 30)),initialDateRange: dtr,// routeSettings: Navigator.defaultGenerateInitialRoutes(navigator, initialRouteName)))!;