me_main_view.dart 3.7 KB
import 'dart:math';

import 'package:cp_offline_manage/pages/me/me_main/me_main_entity.dart';
import 'package:cp_offline_manage/utils/log.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

import '../../../common/colors.dart';
import 'me_main_logic.dart';

class Me_mainPage extends GetView<Me_mainLogic> {
  @override
  Widget build(BuildContext context) {
    final logic = Get.put(Me_mainLogic());
    var itemList1 = logic.groupedList[0].itemList;
    var itemList2 = logic.groupedList[1].itemList;

    return Scaffold(
        appBar: AppBar(
          title: const Text('我的'),
          centerTitle: true,
          backgroundColor: ColorConfig.themeColor,
        ),
        body: CustomScrollView(
          slivers: <Widget>[
            _buildList(itemList1),
            SliverToBoxAdapter(
              child: Divider(
                color: ColorConfig.colorCcc,
                thickness: 10,
              ),
            ),
            _buildList(itemList2),
          ],
        ));
  }

  SliverList _buildList(List list) {
    return SliverList(
      delegate: SliverChildBuilderDelegate(
        (BuildContext context, int index) {
          MeItemEntity item = list[index];
          return InkWell(
            child: Container(
              height: 66,
              child: Column(
                children: [
                  Container(
                    width: MediaQuery.of(context).size.width,
                    height: 65.0,
                    child: Row(
                      crossAxisAlignment: CrossAxisAlignment.center,
                      children: [
                        Padding(
                          padding: EdgeInsets.only(left: 20.0),
                        ),
                        Image(
                          image: AssetImage(item.icon!),
                          width: 24.0,
                          height: 24,
                        ),
                        SizedBox(width: 10.0),
                        Text(
                          item.name!,
                          style: TextStyle(
                              color: ColorConfig.color66, fontSize: 17),
                        ),
                        Expanded(
                          child: Container(
                              margin: EdgeInsets.only(right: 24),
                              child: Row(
                                children: [
                                  Expanded(
                                    flex: 1,
                                    child: Container(),
                                  ),
                                  Text(
                                    item.stateDetail!,
                                    style: TextStyle(
                                        color: ColorConfig.color99,
                                        fontSize: 14),
                                  ),
                                  SizedBox(width: 10.0),
                                  ImageIcon(AssetImage(MeGroupEntity.rightIcon),
                                      size: 16)
                                ],
                              )),
                        ),
                      ],
                    ),
                  ),
                  Visibility(
                    visible: index != list.length - 1,
                    child: Container(
                      margin: EdgeInsets.only(left: 20.0),
                      height: 1.0,
                      color: Colors.grey[300],
                    ),
                  ),
                ],
              ),
            ),
            onTap: () {
              LogUtils.i("点击了${index}");
              controller.navigate(item);
            },
          );
        },
        childCount: list.length,
      ),
    );
  }
}