Flutter 251006

安卓

主页面的配置

<activity
            android:name=".MainActivity"

对应Java或kotlin代码同名路径src/main/kotlin/com/example/xxx/下的对应主类文件MainActivity.java MainActivity.kt

布局Widge

Row主轴是水平方向,Column主轴是垂直方向
对齐都是靠mainAxisAlignmentcrossAxisAlignment调整

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)
    ))!;
posted @ 2025-10-06 03:25  庶旁  阅读(10)  评论(0)    收藏  举报