日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scenebuilder各控件属性介绍_Flutter 全栈式——基础控件

發布時間:2023/12/2 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scenebuilder各控件属性介绍_Flutter 全栈式——基础控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Flutter中,UI小控件有兩種設計風格,一種是Material設計,這是安卓的官方設計風格,另一種則是Cupertino風格,是iOS的官方設計風格。因此,當遇到帶有這兩個單詞開頭的控件時,我們應該明確他們表達的意思。

  • 官方Widgets 介紹文檔

  • 官方Widgets API文檔

  • 中文 Widgets 介紹文檔

控件簡述
Text文本控件
Image圖片控件
Icon圖標控件
SelectableText可選文本控件
TextField文本輸入框
MaterialButtonMaterial(安卓)風格按鈕
RaisedButton凸起的按鈕
FlatButton扁平的按鈕
IconButton圖標按鈕
CupertinoButtonCupertino(iOS)風格按鈕
OutlineButton線框按鈕
Radio單選框
Checkbox多選框
Chip碎片控件
Slider滑塊控件
CupertinoSlideriOS 風格滑塊控件
Switch開關控件
CupertinoSwitchiOS 風格開關控件
Placeholder占位控件

Text

屬性名類型簡述
dataString需要顯示的文本字符串
styleTextStyle文本顯示的樣式
textAlignTextAlign文本對齊方式
textDirectionTextDirection文本顯示方向
softWrapbool是否自動換行
overflowTextOverflow溢出處理。clip:剪輯溢出的文本;fade:將溢出的文本淡化為透明;ellipsis:用省略號表示溢出;visible:在容器之外顯示溢出的文本
textScaleFactordouble每個邏輯像素的字體像素值。簡單說就是字體縮放系數
maxLinesint文本最多可顯示的行數。如果文本超過給定的行數,則根據溢出規則截斷
textSpanTextSpan以TextSpan方式顯示文本。需使用Text.rich構造方法創建

Image

構造方法

  • Image : 從ImageProvider中獲取圖片
  • Image.asset :加載資源目錄中的圖片
  • Image.network:加載網絡圖片
  • Image.file:加載本地圖片文件
  • Image.memory:加載Uint8List資源圖片
屬性名類型簡述
imageImageProvider用于自定義圖片控件的情況
width/heightdouble設置Image控件自身的寬高
fitBoxFit圖片的填充模式
colorColor圖片顏色
colorBlendModeBlendMode對圖片進行混合顏色處理,有多種值可選
alignmentAlignment設置圖片的對齊位置
repeatImageRepeat設置圖片的重復填充方式
centerSliceRect類似與Android中的點9處理,在圖片上定義某個矩形區域用于拉伸,這9個點其實就是八個方向加上正中
gaplessPlaybackbool當ImageProvider發生變化時,顯示新圖片的過程中,如果值為true則保留舊圖片直至顯示出新圖片為止;如果false,則不保留舊圖片,直接空白等待下一張圖片的加載
//?直接構造

BoxFit 填充模式

文檔地址

取值簡述
BoxFit.contain顯示整張圖片,按照原始比例縮放顯示
BoxFit.fill顯示整張圖片,拉伸填充全部可顯示區域
BoxFit.cover按照原始比例縮放,可能裁剪,填滿可顯示區域
BoxFit.fitHeight按照原始比例縮放,可能裁剪,高度優先填滿
BoxFit.fitWidth按照原始比例縮放,可能裁剪寬度優先填滿
BoxFit.none圖片居中顯示,不縮放原圖
BoxFit.scaleDown顯示整張圖片,只能縮小或者原圖顯示

TextField

屬性名類型簡述
controllerTextEditingController輸入框的控制器,通常用于獲取輸入的內容
focusNodeFocusNode用于輸入框的焦點管理和監聽
decorationInputDecoration輸入框的裝飾器,用于修改外觀
keyboardTypeTextInputType設置輸入類型,不同的輸入類型鍵盤會不一樣
textInputActionTextInputAction用于設置鍵盤動作(一般位于右下角,默認是完成)
textCapitalizationTextCapitalization配置平臺鍵盤如何選擇大寫或小寫鍵盤。
styleTextStyle文本樣式
textAlignTextAlign文本位置
textDirectionTextDirection文本顯示方向
autofocusbool是否自動獲取焦點
obscureTextbool是否隱藏輸入的文字,通常用于密碼框
autocorrectbool是否自動校驗
maxLinesint最大行數
maxLengthint輸入的最大字符數
maxLengthEnforcedbool配合maxLength使用,達到最大長度時是否阻止輸入
onChangedValueChanged輸入文本發生變化時回調
onEditingCompleteVoidCallback點擊鍵盤完成按鈕時觸發的回調,無參數
onSubmittedValueChanged點擊完成按鈕時觸發的回調,該回調有參數,參數即為輸入的值
inputFormattersList對輸入文本的校驗
cursorWidthdouble光標的寬度
cursorRadiusRadius光標的圓角
cursorColorColor光標的顏色
keyboardAppearanceBrightness鍵盤的外觀,僅在iOS設備上支持
onTapGestureTapCallback點擊輸入框時的回調
enabledbool輸入框是否可用
readOnlybool是否只讀

裝飾器 InputDecoration

屬性名類型簡述
iconWidget設置位于輸入框前的圖標
labelTextString設置描述輸入框的標簽
labelStyleTextStyle設置labelText的樣式
helperTextString幫助文本,位于輸入框下方,如果errorText為空則不會顯示
helperStyleTextStyle設置helperText的樣式
hintTextString提示文本,位于輸入框內部
hintStyleTextStylehintText的樣式
hintMaxLinesint提示文本最大行數
errorTextString錯誤文本信息提示
errorStyleTextStyleerrorText的樣式
hasFloatingPlaceholderboollabelText是否浮動,默認為true
isDensebool輸入框是否為密集型,默認為false,為true時,圖標及間距會變小
contentPaddingEdgeInsetsGeometry內間距
isCollapsedbool是否裝飾的大小與輸入字段的大小相同。
prefixIconWidget位于輸入框內部起始位置的圖標
prefixWidget預先填充的Widget,跟prefixText只能同時出現一個
prefixTextString預填充的文本,例如手機號前面預先加上區號等
prefixStyleTextStyleprefixText的樣式
suffixIconWidget位于輸入框尾部的圖標
suffixWidget位于輸入框尾部的控件
suffixTextString位于尾部的填充文字
suffixStyleTextStylesuffixText的樣式
counterWidget輸入框右下方的計數小控件,不能和counterText同時使用
counterTextString右下方顯示的文本,常用于顯示輸入的字符數量
counterStyleTextStylecounterText的樣式
filledbool如果為true,則使用fillColor指定的顏色填充
fillColorColor輸入框的背景顏色
errorBorderInputBordererrorText不為空,且輸入框沒有焦點時要顯示的邊框
focusedBorderInputBorder輸入框有焦點時的邊框,errorText必須為空
focusedErrorBorderInputBordererrorText不為空時,輸入框有焦點時的邊框
disabledBorderInputBorder輸入框禁用時顯示的邊框,errorText必須為空
enabledBorderInputBorder輸入框可用時顯示的邊框,errorText必須為空
borderInputBorder正常情況下的邊框
enabledbool輸入框是否可用

border的三種值

  • InputBorder.none 沒有邊框
  • OutlineInputBorder 線框
  • UnderlineInputBorder 底邊線,默認的
TextField(
??????decoration:?InputDecoration(
????????border:?OutlineInputBorder(
??????????borderRadius:?BorderRadius.all(
????????????Radius.circular(30),?//?圓角
??????????),
??????????borderSide:?BorderSide(
????????????color:?Colors.amber,?//線框顏色為黃色
????????????width:?2,????????????//線框寬度為2
??????????),
????????),

????????labelText:?"labelText",
????????helperText:?"helperText",
????????hintText:?"hintText",
????????prefixIcon:?Icon(Icons.perm_identity),
??????),
????);

小技巧

當輸入框的默認線框無法滿足時,可以使用Container容器自定義邊框。這時候可以將裝飾器設置為InputDecoration.collapsed(hintText: 'hint')表示禁用裝飾線

輸入校驗 ?TextInputFormatter

inputFormatters屬性需要我們提供一個TextInputFormatter 類型的列表,該類有三個子類提供我們使用

  • WhitelistingTextInputFormatter 白名單校驗,只允許輸入符合規則的字符
  • BlacklistingTextInputFormatter 黑名單校驗,除了限定的字符其他的都可以輸入
  • LengthLimitingTextInputFormatter 長度限制,與maxLength作用類似

前兩個在實際使用時,其實是使用的Dart中正則表達式

///?黑名單校驗?+?長度限制

Button

Button的通用屬性

屬性名類型簡述
onPressedVoidCallback點擊事件監聽
onLongPressVoidCallback長按事件監聽
onHighlightChangedValueChanged水波紋高亮變化回調,按下返回true,抬起返回false
textThemeButtonTextTheme定義按鈕主題
textColorColor按鈕文字顏色
disabledTextColorColor禁用按鈕時文字顏色
colorColor按鈕顏色
disabledColorColor禁用按鈕時顏色
focusColorColor獲取焦點時按鈕顏色
splashColorColor水波紋效果的初始化顏色
hoverColorColor當指針懸停在按鈕上時的填充顏色
highlightColorColor水波紋的高亮顏色
elevationdouble陰影高度
hoverElevationdouble指針懸停在按鈕上時的陰影
focusElevationdouble獲取焦點時的陰影
highlightElevationdouble高亮時的陰影
disabledElevationdouble禁用時的陰影
colorBrightnessBrightness用于此按鈕的主題亮度
childWidget子控件
enabledbool是否禁用按鈕
paddingEdgeInsetsGeometry內邊距
shapeShapeBorder設置形狀
clipBehaviorClip剪裁
focusNodeFocusNode用于焦點管理和監聽
autofocusbool是否自動獲取焦點
animationDurationDuration設置按鈕形狀和陰影變化的持續時間
materialTapTargetSizeMaterialTapTargetSize配置點擊目標的最小大小
minWidthdouble按鈕最小寬度
heightdouble按鈕高度
enableFeedbackbool是否開啟按鈕觸覺反饋
????RaisedButton(
??????child:?Text('凸起按鈕'),
??????onPressed:?(){},
??????color:?Colors.blue[200],
??????splashColor:Colors.yellow[100],
????),

????FlatButton(
??????child:?Text('扁平按鈕'),
??????onPressed:?(){},
??????color:?Colors.blue[200],
????),

????OutlineButton(
??????child:?Text('線框按鈕'),
??????onPressed:?(){},
??????textColor:?Colors.red,
??????borderSide:?BorderSide(color:?Colors.red,),
????),

Radio 與 ?Checkbox

Radio

屬性名類型簡述
value動態類型此單選按鈕表示的值
groupValue動態類型該組單選按鈕當前選定的值
onChangedValueChanged狀態變化回調
activeColorColor選中時的顏色
materialTapTargetSizeMaterialTapTargetSize配置點擊目標的最小大小。
focusNodeFocusNode用于焦點管理和監聽
autofocusbool是否自動獲得焦點
????Row(
??????children:?[
????????Radio(
??????????value:?1,
??????????activeColor:?Colors.pink,
??????????groupValue:?this._sex,
??????????onChanged:?(value)?{
????????????setState(()?{this._sex?=?value;
????????????});
??????????},
????????),
????????Text('男'),
????????Radio(
??????????value:?2,
??????????activeColor:?Colors.pink,
??????????groupValue:?this._sex,
??????????onChanged:?(value)?{
????????????setState(()?{this._sex?=?value;
????????????});
??????????},
????????),
????????Text('女'),
??????],
????),

Checkbox

屬性名類型簡述
valuebool是否選中此復選框
onChangedValueChanged該組單選按鈕當前選定的值
tristatebool默認false,如果為true,復選框的值可以為true、false或null
activeColorColor選中時的顏色
checkColorColor選中時復選框圖標的顏色
materialTapTargetSizeMaterialTapTargetSize配置點擊目標的最小大小
focusNodeFocusNode用于焦點管理和監聽
autofocusbool是否自動獲得焦點
????Row(
??????children:?[
????????Checkbox(
??????????activeColor:?Colors.pink,
??????????checkColor:?Colors.blue,
??????????value:?this._flag1,
??????????onChanged:?(value)?{
????????????setState(()?{this._flag1?=?value;
????????????});
??????????},
????????),
????????Checkbox(
??????????activeColor:?Colors.pink,
??????????checkColor:?Colors.blue,
??????????value:?this._flag2,
??????????onChanged:?(value)?{
????????????setState(()?{this._flag2?=?value;
????????????});
??????????},
????????),
??????],
????)

Chip

屬性名類型簡述
avatarWidget在碎片標簽之前顯示的小控件
labelWidget碎片的標簽
labelStyleTextStyle標簽文字樣式
labelPaddingEdgeInsetsGeometry標簽文字內間距
shapeShapeBorder形狀
clipBehaviorClip裁剪。?默認Clip.none(不裁剪)
backgroundColorColor背景顏色
paddingEdgeInsetsGeometry內間距
deleteIconWidget添加圖標按鈕, 必須與onDeleted 配合使用
onDeletedVoidCallback圖標按鈕監聽
deleteIconColorColordeleteIcon的顏色
deleteButtonTooltipMessageStringdeleteIcon長按文字提示
materialTapTargetSizeMaterialTapTargetSize配置點擊目標的最小大小
elevationdouble陰影高度
shadowColorColor陰影顏色
????Chip(
??????avatar:?Icon(Icons.add_alert),
??????label:?Text('我是一個標簽'),
??????deleteIcon:?Icon(Icons.close),
??????deleteIconColor:Colors.red,
??????deleteButtonTooltipMessage:'點你妹',
??????labelStyle:?TextStyle(color:?Colors.white),
??????backgroundColor:?Colors.blue,
??????elevation:20,
??????shadowColor:Colors.grey,
??????onDeleted:?(){
????????print('onTap');
??????},
????),

Slider ?與 CupertinoSlider

Slider

屬性名類型簡述
valuedouble當前值 ?默認 0 -- 1 之間
onChangedValueChanged滑動過程中調用
onChangeStartValueChanged開始滑動時調用
onChangeEndValueChanged滑動完成時調用
mindouble最小值 ?默認 0
maxdouble最大值 ?默認 1
divisionsint分段個數
labelString滑動時 顯示的文字 ?(必須與divisions配合使用)
activeColorColor用于滑塊軌道的活動部分的顏色
inactiveColorColor滑塊軌道的非活動部分的顏色

CupertinoSlider?控件屬性與Slider?基本相同。

????Slider(
????????label:'current?${valuec.round()}',
????????max:?100,
????????min:?0,
????????divisions:?5,
????????activeColor:Colors.blue,
????????inactiveColor:?Colors.yellow,

????????value:this.valuec,
????????onChanged:?(double?v)?{
??????????setState(()?{
????????????this.valuec?=?v;
??????????});
????????},
????????onChangeStart:?(startValue)?{
??????????print('Started?at?$startValue');
????????},
????????onChangeEnd:?(newValue)?{
??????????print('Ended?on?$newValue');
????????},
????),

Switch 和 CupertinoSwitch

Switch

屬性名類型簡述
valuebool當前開關狀態
onChangedValueChanged開關狀態變化回調
activeColorColor打開狀態的顏色
activeTrackColorColor打開狀態時軌道上的顏色。
inactiveThumbColorColor關閉狀態按鈕的顏色
inactiveTrackColorColor關閉狀態軌道顏色
activeThumbImageImageProvider打開狀態下按鈕圖片
inactiveThumbImageImageProvider關閉狀態下按鈕圖片
materialTapTargetSizeMaterialTapTargetSize配置點擊目標的最小大小
dragStartBehaviorDragStartBehavior確定處理拖動啟動行為的方式
focusNodeFocusNode用于焦點管理和監聽
autofocusbool是否自動獲得焦點

CupertinoSwitch 的屬性較少

屬性名類型簡述
valuebool當前開關狀態
onChangedValueChanged開關狀態變化回調
activeColorColor打開狀態的顏色
????Switch(
??????activeColor:Colors.red,
??????activeTrackColor:Colors.yellow,
??????inactiveThumbColor:Colors.pink[200],
??????inactiveTrackColor:Colors.black,
??????value:?this.valuea,
??????onChanged:?(v)?{
????????setState(()?{
??????????this.valuea?=?v;
????????});
??????},
????),

本文視頻課程

總結

以上是生活随笔為你收集整理的scenebuilder各控件属性介绍_Flutter 全栈式——基础控件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。