成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Flutter控件-- CheckBox 和 CheckboxListTile

Markxu / 3336人閱讀

摘要:控件練習(xí)地址一。勾選框勾選框,繼承于所以本身他是沒(méi)有狀態(tài)的,一般都是在父控件中加入有狀態(tài)的控件來(lái)給他設(shè)置。

flutter控件練習(xí)demo地址:github

一。CheckBox(勾選框)

CheckBox 勾選框,繼承于 StatefulWidget, 所以本身他是沒(méi)有狀態(tài)的 Widget ,一般都是在 父 控件中加入有狀態(tài)的控件來(lái)給他設(shè)置。

1.1 屬性

tristate: 默認(rèn)這個(gè)是false,此時(shí) value 必定不能是null, 可以設(shè)置 為 true,此時(shí) value 可以是任意值

value: 這個(gè)值不能是null(除非上面 tristate 是true) , 用來(lái)設(shè)置 此 checkbox 是否選中

onChanged: 是否選中發(fā)生變化時(shí)的回調(diào), 回調(diào)的 bool 值 就是是否選中 ,true 就是選中

activeColor: 勾選后 勾選框填充的顏色 默認(rèn)是 ThemeData.toggleableActiveColor

checkColor: 對(duì)勾的顏色 默認(rèn)的是白色

materialTapTargetSize:

二。CheckboxListTile(有標(biāo)題的Checkbox)

2.1 屬性

value: // 必須要的屬性,是否選定

onChanged: 是否選中發(fā)生變化時(shí)的回調(diào), 回調(diào)的 bool 值 就是是否選中 , true 是 選中

activeColor: 選中時(shí) checkbox 的填充的顏色

title: 標(biāo)題, 具有代表性的就是 Text

subtitle: 副標(biāo)題(在 title 下面), 具有代表性的就是 Text

isThreeLine = false:// 是否是三行文本

true : 副標(biāo)題 不能為 null

false:如果沒(méi)有副標(biāo)題 ,就只有一行, 如果有副標(biāo)題 ,就只有兩行

dense: 是否密集垂直

secondary: 左邊的一個(gè)控件

selected = false: text 和 icon 的 color 是否 是 activeColor 的顏色

controlAffinity = ListTileControlAffinity.platform:

ListTileControlAffinity.platform 根據(jù)不同的平臺(tái),來(lái)顯示 對(duì)話(huà)框 的位置

ListTileControlAffinity.trailing:勾選在右,title 在中,secondary 在左

ListTileControlAffinity.leading :勾選在左,title 在中,secondary 在右

三 實(shí)例截圖

四 代碼

import "package:flutter/material.dart";
import "package:fluttertoast/fluttertoast.dart";

class CheckBoxDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text("CheckBox"),
        centerTitle: true,
      ),
      body: _Stateful(),
    );
  }
}

class _Stateful extends StatefulWidget {
  @override
  State createState() {
    // TODO: implement createState
    return _CheckBoxState();
  }
}

class _CheckBoxState extends State {
  bool _isCheck;
  bool _isMale;
  bool _isFemale;
  bool _checkboxListChecked;
  bool _checkboxList2Checked;

  @override
  void initState() {
    super.initState();
    _isCheck = false;
    _isMale = true;
    _isFemale = false;
    _checkboxListChecked = false;
    _checkboxList2Checked = false;
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        SizedBox(
          height: 20,
        ),
        Text("一:Checkbox",
            style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20)),
        Checkbox(
//          tristate: true,
          // 這個(gè)值不能是null(除非上面 tristate 是true) , 用來(lái)設(shè)置 此 checkbox 是否選中
          value: _isCheck,
          // 勾選后  勾選框填充的顏色 默認(rèn)是 ThemeData.toggleableActiveColor
          activeColor: Colors.red,
          // 對(duì)勾的顏色  默認(rèn)的是白色
          checkColor: Colors.blue,
          // 是否選中發(fā)生變化時(shí)的回調(diào), 回調(diào)的 bool 值 就是是否選中
          // true 就是選中
          onChanged: (isCheck) {
            if (isCheck) {
              Fluttertoast.showToast(msg: "改變了:$isCheck");
            }
            _isCheck = isCheck;
            //改變_CheckBoxState
            setState(() {});
          },
        ),
        Text("用checkbox實(shí)現(xiàn)單選,其實(shí)就是改值",
            style: TextStyle(fontWeight: FontWeight.bold)),
        Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Row(
              children: [
                Text("男"),
                Checkbox(
                  value: _isMale,
                  onChanged: (isMan) {
                    setState(() {
                      if (isMan) {
                        _isMale = true;
                        _isFemale = false;
                      }
                    });
                  },
                )
              ],
            ),
            SizedBox(
              width: 20,
            ),
            Row(
              children: [
                Text("女"),
                Checkbox(
                  value: _isFemale,
                  onChanged: (isFemale) {
                    setState(() {
                      if (isFemale) {
                        _isFemale = true;
                        _isMale = false;
                      }
                    });
                  },
                )
              ],
            )
          ],
        ),
        SizedBox(
          height: 20,
        ),
        Text("二:CheckboxListTile",
            style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20)),
        SizedBox(
            width: 250,
            child: Column(
              children: [
                CheckboxListTile(
                  // 必須要的屬性
                  value: _checkboxListChecked,
                  //是否選中發(fā)生變化時(shí)的回調(diào), 回調(diào)的 bool 值 就是是否選中 , true 是 選中
                  onChanged: (isCheck) {
                    Fluttertoast.showToast(msg: "選的$isCheck");
                    setState(() {
                      _checkboxListChecked = isCheck;
                    });
                  },
                  // 選中時(shí) checkbox 的填充的顏色 ,
                  //      selected 如果是 true :
                  //                如果 不設(shè)置 title 和 subtitle 中 text 的 color 的話(huà), text的顏色 跟隨 activeColor
                  activeColor: Colors.red,
                  // 標(biāo)題, 具有代表性的就是 Text ,
                  //        selected 如果是 true :
                  //         如果 不設(shè)置 text 的 color 的話(huà), text的顏色 跟隨 activeColor
                  title: Text(
                    "標(biāo)題",
                    style: TextStyle(color: Colors.blueAccent),
                  ),
                  // 副標(biāo)題(在 title 下面), 具有代表性的就是 Text , 如果 不設(shè)置 text 的 color 的話(huà), text的顏色 跟隨 activeColor
                  subtitle: Text("副標(biāo)題"),
                  // 是否是三行文本
                  //        如果是 true : 副標(biāo)題 不能為 null
                  //        如果是 false:
                  //                      如果沒(méi)有副標(biāo)題 ,就只有一行, 如果有副標(biāo)題 ,就只有兩行
                  isThreeLine: true,
                  // 是否密集垂直
                  dense: false,
                  // 左邊的一個(gè)控件
                  secondary: Text("secondary"),
                  // text 和 icon 的 color 是否 是 activeColor 的顏色
                  selected: false,
                  controlAffinity: ListTileControlAffinity.trailing,
                ),
                CheckboxListTile(
                  onChanged: (isCheck) {
                    setState(() {
                      _checkboxList2Checked = isCheck;
                    });
                  },
                  selected: false,
                  value: _checkboxList2Checked,
                  title: Text("標(biāo)題2"),
                  controlAffinity: ListTileControlAffinity.leading,
                )
              ],
            )),
      ],
    );
  }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/6731.html

相關(guān)文章

  • Flutter控件--RadioRadioListTile

    摘要:控件練習(xí)地址一。單選框中的單選框,和一樣本身沒(méi)有狀態(tài),必須父親有狀態(tài)才能改變值屬性此的值當(dāng)選擇此的時(shí)候的回調(diào)。flutter控件練習(xí)demo地址:github 一。Radio (單選框) flutter 中的單選框 , 和 Checkbox 一樣 本身沒(méi)有狀態(tài),必須父親有狀態(tài) 才能改變值 1.1 屬性 value: 此 Radio 的 value 值 onChanged: 當(dāng)選擇此 ...

    stefanieliang 評(píng)論0 收藏0
  • flutter筆記3:基礎(chǔ)語(yǔ)法、框架、控件

    摘要:是啥是谷歌推出的一套視覺(jué)設(shè)計(jì)語(yǔ)言。比如有的可以換皮膚,而每一套皮膚就是一種設(shè)計(jì)語(yǔ)言,有古典風(fēng)呀炫酷風(fēng)呀極簡(jiǎn)風(fēng)呀神馬的,而就是谷歌風(fēng),有興趣的同學(xué)可以學(xué)習(xí)了解一下官方原版和中文翻譯版,這是每一個(gè)產(chǎn)品經(jīng)理的必修教材。 flutter環(huán)境和運(yùn)行環(huán)境搭建好之后,可以開(kāi)始擼碼了,然而當(dāng)你打開(kāi)VScode,在打開(kāi)項(xiàng)目文件夾后,擺在你面前的是main.dart被打開(kāi)的樣子,里面七七八八的已經(jīng)寫(xiě)好了一...

    draveness 評(píng)論0 收藏0
  • flutter筆記7:flutter頁(yè)面布局基礎(chǔ),看完這篇就可以用flutter寫(xiě)APP了

    摘要:布局控件不會(huì)直接呈現(xiàn)內(nèi)容,可看作承載可視控件的容器。布局控件也是可以模擬顯示的,通常用于調(diào)試布局樣式時(shí)用到的網(wǎng)格線(xiàn)標(biāo)尺動(dòng)畫(huà)幀等。但是當(dāng)頁(yè)面內(nèi)容需要超出屏幕尺寸時(shí),就用和代替。 不知不覺(jué)已經(jīng)到了第7篇,然而很多萌新玩家可能還是不知道如何堆砌控件,像用CSS一樣搭出漂亮的APP界面,我也一樣,紅紅火火恍恍惚惚,直到今天含淚讀完Flutter布局基礎(chǔ),仿佛打開(kāi)了一個(gè)全新的世界。 基本概念 在...

    Flink_China 評(píng)論0 收藏0
  • Flutter交互實(shí)戰(zhàn)-即刻App探索頁(yè)下拉&拖拽效果

    摘要:前言最近比較熱門(mén),但是成體系的文章并不多,前期避免不了踩坑我這篇文章主要介紹如何使用實(shí)現(xiàn)一個(gè)比較復(fù)雜的手勢(shì)交互,順便分享一下我在使用過(guò)程中遇到的一些小坑,減少大家入坑作者鏈接先睹為快本項(xiàng)目支持運(yùn)行,效果如下對(duì)了,順便分享一下生成的小竅門(mén),建 前言 Flutter最近比較熱門(mén),但是Flutter成體系的文章并不多,前期避免不了踩坑;我這篇文章主要介紹如何使用Flutter實(shí)現(xiàn)一個(gè)比較復(fù)雜...

    miracledan 評(píng)論0 收藏0
  • Flutter交互實(shí)戰(zhàn)-即刻App探索頁(yè)下拉&拖拽效果

    摘要:前言最近比較熱門(mén),但是成體系的文章并不多,前期避免不了踩坑我這篇文章主要介紹如何使用實(shí)現(xiàn)一個(gè)比較復(fù)雜的手勢(shì)交互,順便分享一下我在使用過(guò)程中遇到的一些小坑,減少大家入坑作者鏈接先睹為快本項(xiàng)目支持運(yùn)行,效果如下對(duì)了,順便分享一下生成的小竅門(mén),建 前言 Flutter最近比較熱門(mén),但是Flutter成體系的文章并不多,前期避免不了踩坑;我這篇文章主要介紹如何使用Flutter實(shí)現(xiàn)一個(gè)比較復(fù)雜...

    wdzgege 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<