【无标题】

双列表选择器

// 双列表弹窗选择
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('双列表选择器'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            _showSelectionDialog(context);
          },
          child: Text('打开选择器'),
        ),
      ),
    );
  }

  void _showSelectionDialog(BuildContext context) {
    showDialog(
      context: context,
      builder: (BuildContext context) {
        return AlertDialog(
          title: Text('请选择'),
          content: Container(
            height: 300,
            width: 300, // 设置弹窗的宽度
            child: Row(
              children: [
                Expanded(
                  child: ListView.builder(
                    shrinkWrap: true,
                    itemCount: 10, // 假设有10个选项
                    itemBuilder: (context, index) {
                      return ListTile(
                        title: Text('左列选项 ${index + 1}'),
                      );
                    },
                  ),
                ),
                VerticalDivider(),
                Expanded(
                  child: ListView.builder(
                    shrinkWrap: true,
                    itemCount: 10, // 假设有10个选项
                    itemBuilder: (context, index) {
                      return ListTile(
                        title: Text('右列选项 ${index + 1}'),
                      );
                    },
                  ),
                ),
              ],
            ),
          ),
          actions: <Widget>[
            TextButton(
              child: Text('取消'),
              onPressed: () {
                Navigator.of(context).pop();
              },
            ),
            TextButton(
              child: Text('确定'),
              onPressed: () {
                // 这里处理确定逻辑
                Navigator.of(context).pop();
              },
            ),
          ],
        );
      },
    );
  }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值