简体   繁体   中英

How to change the ElevatedButton color or shadow Flutter

I was using the RaisedButton untill the Flutter deprecated it and we couldn't use it anymore. There was a suggestion saying "Use ElevatedButton instead". So I tried using it but I couldn't see the properties like color , elevation , focusColor etc.

So how can I personalize an ElevatedButton ?

To change the properties of ElevatedButton you should be using the style: property like so:

ElevatedButton(
  style: ElevatedButton.styleFrom(
    primary: Colors.blue, //button's fill color
    onPrimary: Colors.red, //specify the color of the button's text and icons as well as the overlay colors used to indicate the hover, focus, and pressed states
    onSurface: Colors.orange, //specify the button's disabled text, icon, and fill color
    shadowColor: Colors.black, //specify the button's elevation color
    elevation: 4.0, //buttons Material shadow
    textStyle: TextStyle(fontFamily: 'roboto'), //specify the button's text TextStyle
    padding: const EdgeInsets.only(top: 4.0, bottom: 4.0, right: 8.0, left: 8.0), //specify the button's Padding
    minimumSize: Size(20, 40), //specify the button's first: width and second: height
    side: BorderSide(color: Colors.yellow, width: 2.0, style: BorderStyle.solid), //set border for the button
    shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(35.0)), // set the buttons shape. Make its birders rounded etc
    enabledMouseCursor: MouseCursor.defer, //used to construct ButtonStyle.mouseCursor
    disabledMouseCursor: MouseCursor.uncontrolled, //used to construct ButtonStyle.mouseCursor
    visualDensity: VisualDensity(horizontal: 0.0, vertical: 0.0), //set the button's visual density
    tapTargetSize: MaterialTapTargetSize.padded, // set the MaterialTapTarget size. can set to: values, padded and shrinkWrap properties
    animationDuration: Duration(milliseconds: 100), //the buttons animations duration
    enableFeedback: true, //to set the feedback to true or false
    alignment: Alignment.bottomCenter, //set the button's child Alignment
  ),
    onPressed: () => {} , //set both onPressed and onLongPressed to null to see the disabled properties
    onLongPress: () => {}, //set both onPressed and onLongPressed to null to see the disabled properties
    child: Text('ElevatedButton')
),
  • Change individual button color. Use style property.

     ElevatedButton( onPressed: () {}, child: Text('Button'), style: ElevatedButton.styleFrom( primary: Colors.red, ), )
  • Change all buttons color down the widget tree. Use ElevatedButtonTheme :

     ElevatedButtonTheme( data: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( primary: Colors.red, // Sets color for all the descendent ElevatedButtons ), ), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ElevatedButton( onPressed: () {}, child: Text('Button 1'), ), SizedBox(height: 12), ElevatedButton( onPressed: () {}, child: Text('Button 2'), ), ], ), )

    在此处输入图像描述

You can use ElevatedButton.styleFrom to change shadow and color.

 ElevatedButton(
      style: ElevatedButton.styleFrom(
        primary: Colors.blue,
        shadowColor: Colors.black)) 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM