17、 Flutter Widgets 之 内置各种Button

flutter内置各种buttons

/**
 * @Author wywinstonwy
 * @Date 2022/1/2 10:52 下午
 * @Description:
 */
import 'package:demo202112/utils/common_appbar.dart';
import "package:flutter/material.dart";
enum ConferenceItem { AddMember, LockConference, ModifyLayout, TurnoffAl }

class WyButtoms extends StatefulWidget {
  const WyButtoms({Key? key}) : super(key: key);

  @override
  _WyButtomsState createState() => _WyButtomsState();
}

class _WyButtomsState extends State<WyButtoms> {


  @override
  Widget build(BuildContext context) {
    var selectItemValue = '北京';
    Object? _dropValue = '语文';
    final List<DropdownMenuItem> items = [];
    final DropdownMenuItem item1 = DropdownMenuItem(
      child: Text('北京'), value: '北京',);
    final DropdownMenuItem item2 = DropdownMenuItem(
      child: Text('上海'), value: '上海',);
    final DropdownMenuItem item3 = DropdownMenuItem(
      child: Text('广州'), value: '广州',);
    final DropdownMenuItem item4 = DropdownMenuItem(
      child: Text('深圳'), value: '深圳',);
    items.add(item1);
    items.add(item2);
    items.add(item3);
    items.add(item4);

    return Scaffold(
      appBar: getAppBar('内置各种buttons'),
      body: Container(
        padding: EdgeInsets.all(30),
        child: ListView(
            children: [
              _buildButton(
                  ElevatedButton(
                  onPressed: _ontap,
                  child: Text('ElevatedButton'),
                    


              )
              ),
              _buildButton(TextButton(onPressed: _ontap, child: Text('TextButton'))),
              const BackButton(),
              const CloseButton(),
              DropdownButton(
                value: _dropValue,
                items: [
                  DropdownMenuItem(child: Text('语文'),value: '语文',),
                  DropdownMenuItem(child: Text('数学'),value: '数学'),
                  DropdownMenuItem(child: Text('英语'),value: '英语'),
                ],
                onChanged: (value){
                  setState(() {
                    _dropValue = value;
                  });
                },
              ),
              FloatingActionButton(onPressed: _ontap),
              IconButton(onPressed: _ontap, icon: Icon(Icons.details,color: Colors.blue,)),
              MaterialButton(onPressed: _ontap,child: Text('MaterialButton'),),
              OutlinedButton(onPressed: _ontap, child: Text('OutlinedButton')),
              OutlinedButton.icon(onPressed: _ontap, icon: Icon(Icons.ac_unit), label: Text('OutlinedButton.icon')),
              PopupMenuButton(itemBuilder: (BuildContext context)=> //菜单项构造器
              <PopupMenuEntry<ConferenceItem>>[
                const PopupMenuItem<ConferenceItem>(
                  //菜单项
                  value: ConferenceItem.AddMember,
                  child: Text('添加成员'),
                ),
                const PopupMenuItem<ConferenceItem>(
                  value: ConferenceItem.LockConference,
                  child: Text('锁定会议'),
                ),
                const PopupMenuItem<ConferenceItem>(
                  value: ConferenceItem.ModifyLayout,
                  child: Text('修改布局'),
                ),
                const PopupMenuItem<ConferenceItem>(
                  value: ConferenceItem.TurnoffAl,
                  child: Text('挂断所有'),
                ),
              ],),
              RawMaterialButton(onPressed: _ontap,child: Text('RawMaterialButton'),),
              TextSelectionToolbarTextButton(child: Text('TextSelectionToolbarTextButton'), padding: EdgeInsets.all(30)),
              BackButtonIcon(),
            ],
        ),
      ),
    );
  }

  _ontap(){
    print('点击button');
  }
  _buildButton(Widget child){
    return Container(child: child,
      color: Colors.white70,
      width: 100,
    );
  }
}

效果:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雨「83」

你的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值