View Extension

Working with widgets such as (SizedBox) and (GestureDetector) with shorter code.

size:

Set same width and height to Widget
// without extension
SizedBox(
   width: 50,
   height: 50,
   child: Image.network("logo.png"),
)

// with extension 
Image.network("logo.png").size(50)

withSize:

Set width and height to Widget
// without extension
SizedBox(
   width: 80,
   height: 50,
   child: Image.network("logo.png"),
)

// with extension 
Image.network("logo.png").withSize(width: 80, height: 50)

width:

Set width to Widget
// without extension
SizedBox(
   width: 80,
   child: Text("Hello"),
)

// with extension 
Text("Hello").width(80)

height:

Set height to Widget
// without extension
SizedBox(
   height: 40,
   child: Text("Hello"),
)

// with extension 
Text("Hello").height(40)

onClick:

Wrap widget inside “GestureDetector”
// without extension
GestureDetector(
   onClick: () {
      print("clicked!!");
   },
   child: Image.network("logo.png"),
)
   
// with extension 
Image.network("logo.png").onClick(() {
    // callback logic...
    print("clicked!!");
})