Hello
welcome back to another flutter tutorial.
Here I will be showing some quick flutter coding tips and tricks.
Watch Video Tutorial
# Tip 1 – Dismiss Keyboard
To dismiss Keyboard, we have to set focus on a different node as shown in the example below using the Gesture Detector.
_dismissKeyboard(BuildContext context) { FocusScope.of(context).requestFocus(new FocusNode()); } Widget body1() { return GestureDetector( behavior: HitTestBehavior.opaque, onTap: () { _dismissKeyboard(context); }, child: Container( color: Colors.white, child: Column( children: <Widget>[ TextField(), ], ), ), ); }
# Tip 2
Color the background of a widget using opacity in different ways.
You can give RGB colors with opacity or Hex color with opacity.
Widget body2() { return Container( color: Color.fromRGBO(0, 0, 0, 0.5), ); return Container( color: Color(0xFF4286f4), ); return Container( color: Color(0xFF4286f4).withOpacity(0.5), ); return Container( color: Color(0xFF4286f4), ); }
#Tip 3 – Rounded Container
Widget body4() { return Container( height: 40.0, padding: EdgeInsets.all(20.0), margin: EdgeInsets.all(30.0), decoration: BoxDecoration( color: Colors.green, borderRadius: BorderRadius.all( Radius.circular(5.0), ), ), ); }
#Tip 4 – Container with Rounded Image
Widget body5() { return Container( width: 250.0, height: 300.0, padding: EdgeInsets.all(20.0), margin: EdgeInsets.all(30.0), decoration: BoxDecoration( color: Colors.green, borderRadius: BorderRadius.circular(50.0), image: DecorationImage(image: NetworkImage(imgUrl), fit: BoxFit.fill), ), ); }
#Tip – 5 Rounded Image Using ClipOval
Widget body6() { return ClipOval( child: Image.network( imgUrl, fit: BoxFit.fill, width: 190.0, height: 190.0, ), ); }
#Tip 6 – Rounded Image using CircularAvatar
Widget body7() { return Container( height: 300, width: 200, child: CircleAvatar( radius: 100.0, backgroundImage: NetworkImage( imgUrl, ), ), ); }
#Tip – 7 Splash Anywhere you tap the widget using InkWell
Widget body3() { return Container( color: Colors.orangeAccent, height: 100.0, child: Material( color: Colors.transparent, child: InkWell( splashColor: Colors.white.withOpacity(0.2), onTap: this._onSelect, child: Center( child: Text("Hello"), ), ), ), ); }
#Tip – 8 Custom ListView Seperator
Widget body8() { return ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), itemCount: 20, itemBuilder: (context, index) => Padding( padding: EdgeInsets.all(8.0), child: Center(child: Text("Index $index")), ), ); }
#Tip – 9 Null Aware Operators.
Here is a short hand for initializing null variables
if (imgUrl == null) { imgUrl = 'https://images.pexels.com/photos/40984/animal-ara-macao-beak-bird-40984.jpeg?cs=srgb&dl=animal-colorful-colourful-40984.jpg&fm=jpg'; }
This is the shorthand for doing the above code.
imgUrl ??= 'https://images.pexels.com/photos/40984/animal-ara-macao-beak-bird-40984.jpeg?cs=srgb&dl=animal-colorful-colourful-40984.jpg&fm=jpg';
Source Code
Complete Source Code is available in this link.