How to put opacity for container in flutter

FlutterFlutter Layout

Flutter Problem Overview


I want to put opacity for container which contain hexadecimal color code. I am new to flutter. Please help me. Here is the code. Thanks in advance.

final body = Container(
  width: MediaQuery.of(context).size.width,

  margin: const EdgeInsets.only(left: 40.0, right: 40.0),
  padding: EdgeInsets.all(28.0),
   decoration: new BoxDecoration(
     color:   const Color(0xFF0E3311),//here i want to add opacity

   border: new Border.all(color: Colors.black54,
   ),
       borderRadius: new BorderRadius.only(
           topLeft: const Radius.circular(40.0),
           topRight: const Radius.circular(40.0),
       bottomLeft: const Radius.circular(40.0),
       bottomRight:const Radius.circular(40.0) )
),

  child: Column(
    children: <Widget>[ email, password,loginButton],
  ),
);

Flutter Solutions


Solution 1 - Flutter

Change the line

const Color(0xFF0E3311)

to

const Color(0xFF0E3311).withOpacity(0.5)

or any value you want.

Solution 2 - Flutter

If you just want to set an opacity to your color it's simple as adding 2 hex numbers before your color code. Check this answer to know all the values.

But if you want to change the opacity of all the widget, in your case a Container, you can wrap it into a Opacity widget like this:

double _opacityValue = 0.50;//This value goes from 0.0 to 1.0. In this case the opacity is from 50%

final Widget _bodyWithOpacity = Opacity(
  opacity: _opacityValue,
  child: body,
);

Check here the Opacity's documentation and this quick video if you want to know more about it!

Solution 3 - Flutter

Flutter uses hexadecimal ARGB values for colors, which are formatted as const Color(0xAARRGGBB). That first pair of letters, the AA, represent the alpha channel. You must convert your decimal opacity values to a hexadecimal value.

Hex Opacity Values:

100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00

For instance:

static const Color mainColor = Color(0xff0097A7);

to:

static  Color accentColor = Color(0x1A0097A7);

will change the opacity to 10%.

Solution 4 - Flutter

Flutter uses a 32 bit color value in ARGB format, where A = Alpha, R = RED, G = GREEN and B = BLUE.

So to control the opacity you can change the values of first two digits of the hex value in const Color(0xFF0E3311), you can use values ranging from 0x000E3311,0x010E3311....0xFF0E3311.

Hope that helps!

Solution 5 - Flutter

We can use Color.fromRGBO(255, 255, 255, 0.5) for opacity as well.

Solution 6 - Flutter

here in code const Color(0xFF0E3311) after 0x two values (in above code 'FF') are for opacity. 'FF' for opaque and '00' for fully transparent. so by altering this value you can change color opacity. Also we get by Colors class diff opacity value color for white and black. for example Colors.white70 means white color with 70% opacity

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPritham BnrView Question on Stackoverflow
Solution 1 - FlutterRyosukeView Answer on Stackoverflow
Solution 2 - FlutterDavid Benitez RibaView Answer on Stackoverflow
Solution 3 - FlutterSleman KamelView Answer on Stackoverflow
Solution 4 - FlutterHemanth RajView Answer on Stackoverflow
Solution 5 - FlutterDennisView Answer on Stackoverflow
Solution 6 - FlutterChetan PawarView Answer on Stackoverflow