view.dart 1.2 KB
/*
 * @Author: 卢靖康
 * @Date: 2024-04-24 18:50:26
 * @LastEditTime: 2024-04-26 11:18:47
 * @LastEditors: 卢靖康
 */
import 'package:flutter/material.dart';
import 'package:get/get.dart';

import 'index.dart';

class DownloadPage extends GetView<DownloadController> {
  const DownloadPage({super.key});

  // 主视图
  Widget _buildView() {
    return ListView.builder(
      itemCount: controller.downloadFileList.length,
      itemBuilder: _itemBuilder,
    );
  }

  Widget _itemBuilder(content, index) {
    return ListTile(
        title: Text(controller.downloadFileList[index].name),
        trailing: controller.downloadFileList[index].isDownload
            ? const Icon(Icons.download_done)
            : const Icon(Icons.download),
        onTap: () {
          controller.handleDownload(controller.downloadFileList[index]);
        });
  }

  @override
  Widget build(BuildContext context) {
    return GetBuilder<DownloadController>(
      init: DownloadController(),
      id: "download",
      builder: (_) {
        return Scaffold(
          appBar: AppBar(title: const Text("地图下载")),
          body: SafeArea(
            child: _buildView(),
          ),
        );
      },
    );
  }
}