Flutter開發(fā)-Button Widget(按鈕)

????????Material widget標(biāo)準(zhǔn)庫中為我們提供了多種式樣的Button Widget,RaisedButton, FlatButton,OutlineButton等,他們都是對RawMaterialButton的二次封裝,繼承了RawMaterialButton的屬性和方法,所以MaterailButton都有一些共同特點(diǎn):
按下的時(shí)候都有水波動(dòng)畫效果;
有一個(gè)onPressd屬性來設(shè)置回調(diào)方法,如果不設(shè)置這個(gè)回調(diào)方法,則按鈕不可交互,也就變成了"Text".

RaisedButton

RaisedButton 是帶有一定圓角和陰影以及灰色背景的按鈕,并且在點(diǎn)擊的時(shí)候會(huì)有動(dòng)畫效果,其接口:

const RaisedButton({
    Key key,
    @required VoidCallback onPressed,//回調(diào)函數(shù)
    ValueChanged<bool> onHighlightChanged,
    ButtonTextTheme textTheme,
    Color textColor,
    Color disabledTextColor,
    Color color,
    Color disabledColor,
    Color focusColor,
    Color hoverColor,
    Color highlightColor,
    Color splashColor,
    Brightness colorBrightness,
    double elevation,
    double focusElevation,
    double hoverElevation,
    double highlightElevation,
    double disabledElevation,
    EdgeInsetsGeometry padding,
    ShapeBorder shape,
    Clip clipBehavior,
    FocusNode focusNode,
    MaterialTapTargetSize materialTapTargetSize,
    Duration animationDuration,
    Widget child,
  }) 

基本用法:

RaisedButton(
              child: Text("RaisedButton",
                style: TextStyle(color: isTouchRaisedButton ? Colors.orange : Colors.red),
              ),
              highlightColor: Colors.yellow,
              
              textTheme: ButtonTextTheme.accent,
              onPressed: _raisedButtonAction,
            ),

FlatButton

FlatButton默認(rèn)沒有背景色并且也不帶陰影,高亮狀態(tài)會(huì)有陰影,其主要接口:

const FlatButton({
    Key key,
    @required VoidCallback onPressed,
    ValueChanged<bool> onHighlightChanged,
    ButtonTextTheme textTheme,
    Color textColor,
    Color disabledTextColor,
    Color color,
    Color disabledColor,
    Color focusColor,
    Color hoverColor,
    Color highlightColor,
    Color splashColor,
    Brightness colorBrightness,
    EdgeInsetsGeometry padding,
    ShapeBorder shape,
    Clip clipBehavior,
    FocusNode focusNode,
    MaterialTapTargetSize materialTapTargetSize,
    @required Widget child,
  }) 

基本用法:

FlatButton(
            child: Text("FlatButton",
              style: TextStyle(color: isTouchRaisedButton ? Colors.orange : Colors.red),

            ),
            onPressed: _FlatButtonAction,
          ),

OutlineButton

OutlineButton是帶有邊框的按鈕,其接口:

const OutlineButton({
    Key key,
    @required VoidCallback onPressed,
    ButtonTextTheme textTheme,
    Color textColor,
    Color disabledTextColor,
    Color color,
    Color focusColor,
    Color hoverColor,
    Color highlightColor,
    Color splashColor,
    double highlightElevation,
    this.borderSide,
    this.disabledBorderColor,
    this.highlightedBorderColor,
    EdgeInsetsGeometry padding,
    ShapeBorder shape,
    Clip clipBehavior,
    FocusNode focusNode,
    Widget child,
  })

基本用法:

OutlineButton(
            child: Text("OutlineButton",
              style: TextStyle(color: isTouchRaisedButton ? Colors.orange : Colors.red),
            ),
            onPressed: _OutlineButtonAction,
            highlightedBorderColor: Colors.red,
          )

IconButton

IconButton默認(rèn)沒有背景,點(diǎn)擊有有背景色,其有一個(gè)icon屬性,主要接口:

IconButton(
            icon: Icon(Icons.today),
            onPressed: _IconButtonAction,
            highlightColor: Colors.red,
          ),
button use
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容