摘要:控件練習地址開關帶標題的開關和一簡介開關按鈕本身也是沒有存儲狀態的。表示未選中屬性表示是否打開,通過控制這個來控制的狀態能點擊。表示選中,表示不選中當拖動改變狀態時的回調。也就是開的狀態時的顏色當是時滑道的顏色當是時滑塊上的圖片。
flutter控件練習demo地址:github
Switch(開關)、SwitchListTile(帶標題的開關) 和 AnimatedSwitch 一 Switch 1.1 簡介Switch “開關按鈕”
本身也是沒有存儲狀態的 Widget 。需要通過有狀態的父 Widget 來控制狀態
當 Switch 狀態發生變化的時候 onChanged 會被調用 , 回調的參數是 bool ,true 表示 選中。 false 表示未選中
value 屬性 表示 是否打開,通過控制這個來控制 Switch 的狀態
能點擊。能滑動
1.2 屬性value: 來初始化此 Switch 是否被選中。true 表示選中 ,false 表示不選中
onChanged: 當 拖動改變狀態時的回調。
activeColor: 當 value 是 true 時按鈕的背景顏色。也就是開的狀態時的顏色
activeTrackColor: 當 value 是 true 時 滑塊的顏色
activeThumbImage: 當 value 是 true 時 滑塊的圖片
activeThumbImage: 當 value 是 true 時 滑塊上的圖片。 如果 activeColor 也設置了 , 以 activeThumbImage 為準 。如果設置的是網絡圖片的話。當 滑塊 滑到這里 才開始加載。所以 沒加載出圖片的之前 ,以 activeColor 為準
inactiveThumbColor: 當 value 是 false 時 滑塊的顏色。也就是開的狀態時的顏色
**inactiveTrackColor:**當 value 是 false 時 滑道的顏色
**inactiveThumbImage:**當 value 是 false 時 滑塊上的圖片。 如果 inactiveThumbColor 也設置了 , 以 inactiveThumbImage 為準
二 SwitchListTile 2.1 簡介2.2 屬性SwitchListTile “帶標題的開關”
value: 是否選中 是否打開
onChanged: 當打開關閉的時候的回調
activeColor: 選中時 滑塊的顏色
activeTrackColor: 選中時 滑道的顏色
inactiveThumbColor: 未選中時 滑塊的顏色
inactiveTrackColor: 未選中時 滑道的顏色
activeThumbImage: 選中時 滑塊的圖片
inactiveThumbImage: 未選中時 滑塊的圖片
title: 標題 典型的是 Text
subtitle: 副標題 在標題下面的 典型的是 Text
isThreeLine = false: 是不是三行, true 時: subtitle 不能為null, false時可以為 null
dense: 是否垂直密集居中
secondary: 左邊的一個東西
selected = false: 如果為 true ,則 text 和 icon 都用 activeColor 時的color
三 demo圖片四 demo代碼
import "package:flutter/material.dart";
import "package:flutter/services.dart";
import "package:fluttertoast/generated/i18n.dart";
class SwitchDemo extends StatefulWidget {
@override
State createState() {
return TextFieldStateDemo();
}
}
class TextFieldStateDemo extends State {
bool _isCheck;
@override
void initState() {
super.initState();
_isCheck = false;
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: Text("Switch 和 SwitchListTile"),
centerTitle: true,
),
body: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Row(),
SizedBox(
height: 20,
),
Text(
"一:普通的Switch",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20),
),
Switch(
value: _isCheck,
onChanged: _changed,
),
Text(
"二:特質的Switch",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20),
),
Switch(
//來初始化此 Switch 是否被選中。true 表示選中 ,false 表示不選中
value: _isCheck,
//當 拖動改變狀態時的回調。
onChanged: _changed,
//當 value 是 true 時 滑塊的顏色。也就是開的狀態時的顏色
activeColor: Colors.red,
// 當 value 是 true 時 滑道的顏色
activeTrackColor: Colors.blueAccent,
// 當 value 是 true 時 滑塊上的圖片。 如果 activeColor 也設置了 , 以 activeThumbImage 為準
// 如果設置的是網絡圖片的話。當 滑塊 滑到這里 才開始加載。所以 沒加載出圖片的之前 ,以 activeColor 為準
activeThumbImage: NetworkImage(
"https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3868620627,2694438302&fm=58"),
// 當 value 是 false 時 滑塊的顏色。也就是開的狀態時的顏色
inactiveThumbColor: Colors.amberAccent,
// 當 value 是 false 時 滑道的顏色
inactiveTrackColor: Colors.green,
// 當 value 是 false 時 滑塊上的圖片。 如果 inactiveThumbColor 也設置了 , 以 inactiveThumbImage 為準
inactiveThumbImage: AssetImage("images/hashiqi.jpg"),
),
Text(
"三:SwitchListTile",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20),
),
SizedBox(
width: 200,
child: SwitchListTile(
// 是否選中 是否打開
value: _isCheck,
// 當打開關閉的時候的回調
onChanged: _changed,
// 選中時 滑塊的顏色
activeColor: Colors.red,
// 選中時 滑道的顏色
activeTrackColor: Colors.black,
// 選中時 滑塊的圖片
// activeThumbImage: AssetImage("images/hashiqi.jpg"),
// 未選中時 滑塊的顏色
inactiveThumbColor: Colors.green,
// 未選中時 滑道的顏色
inactiveTrackColor: Colors.amberAccent,
// 未選中時 滑塊的顏色
inactiveThumbImage: AssetImage("images/hashiqi.jpg"),
// 標題
title: Text("標題"),
// 副標題 在標題下面的
// subtitle: Text("副標題"),
// 是不是三行, true 時: subtitle 不能為null, false時可以為 null
// isThreeLine: true,
// 如果為 true ,則 text 和 icon 都用 activeColor 時的color
// selected: true,
// 是否垂直密集居中
dense: true,
// 左邊的一個東西
secondary: Icon(Icons.access_time),
),
),
]),
);
}
void _changed(isCheck) {
setState(() {
_isCheck = isCheck;
});
}
}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/7366.html
摘要:上一篇我們實現了新聞列表,但在網絡不好的時候列表會白屏,因此為了提高使用體驗,往列表中加入懶加載效果。其次,引入一個內置的手勢控件,用于支持下拉刷新列表的效果如下圖將異步執行也進行了控件化處理,即。 上一篇我們實現了新聞列表,但在網絡不好的時候列表會白屏,因此為了提高使用體驗,往列表中加入懶加載效果。其次,引入一個Flutter內置的手勢控件,用于支持下拉刷新列表的效果如下圖: sho...
摘要:中的的線程是以事件循環和消息隊列的形式存在,包含兩個任務隊列,一個是內部隊列,一個是外部隊列,而的優先級又高于。同時還有處理按住時的事件額外處理,同時手勢處理一般在的子類進行。谷歌大會之后,有不少人咨詢了我 Flutter 相關的問題,其中有不少是和面試相關的,如今一些招聘上也開始羅列 Flutter 相關要求,最后想了想還是寫一期總結吧,也算是 Flutter 的階段復習。 ??系統完...
摘要:是啥是谷歌推出的一套視覺設計語言。比如有的可以換皮膚,而每一套皮膚就是一種設計語言,有古典風呀炫酷風呀極簡風呀神馬的,而就是谷歌風,有興趣的同學可以學習了解一下官方原版和中文翻譯版,這是每一個產品經理的必修教材。 flutter環境和運行環境搭建好之后,可以開始擼碼了,然而當你打開VScode,在打開項目文件夾后,擺在你面前的是main.dart被打開的樣子,里面七七八八的已經寫好了一...
摘要:布局控件不會直接呈現內容,可看作承載可視控件的容器。布局控件也是可以模擬顯示的,通常用于調試布局樣式時用到的網格線標尺動畫幀等。但是當頁面內容需要超出屏幕尺寸時,就用和代替。 不知不覺已經到了第7篇,然而很多萌新玩家可能還是不知道如何堆砌控件,像用CSS一樣搭出漂亮的APP界面,我也一樣,紅紅火火恍恍惚惚,直到今天含淚讀完Flutter布局基礎,仿佛打開了一個全新的世界。 基本概念 在...
閱讀 1422·2021-11-09 09:45
閱讀 1790·2021-11-04 16:09
閱讀 1455·2021-10-14 09:43
閱讀 1818·2021-09-22 15:24
閱讀 1598·2021-09-07 10:06
閱讀 1601·2019-08-30 14:15
閱讀 984·2019-08-30 12:56
閱讀 1566·2019-08-29 17:22