flutter_custom_utils 0.3.7 flutter_custom_utils: ^0.3.7 copied to clipboard
It is designed to simplify code and support utilities for personal and commercial use
-
Widget to png
cTakePicture(GlobalKey); // wrap with RepaintBoundary then use kry to createimage RepaintBoundary( key: GlobalKey, child:Text('data'), )
-
flutter platform
just call these functions anywhere
cIsAndroid() cIsIOS() cIsLinux() cIsWindows() cIsMacOS() cIsWeb() cIsFuchsia()
-
flutter url structure
https://repad.dev/splash remove hash from url (https://repad.dev/#/splash)
void main(){ // Here we set the URL strategy for our web app. cSetPathUrl(); runApp(MyApp()); }
Make a
responsive gridview
by using both1 and 2
-
Based on your static design's
width
, calculate the responsivegrid item count
.crossAxisCount: getResCrosCountGrid( context: context, width: 180, ),
-
For responsive grid item
aspect ratio
, it should be derived from your static design based onheight
andwidth
.childAspectRatio: getResGridRatio( context: context, height: 165, width: 180, ),
-
For normal grid
aspect ratio
Having this aspect ratio will never break in larger or smaller devices
crossAxisCount: 2, childAspectRatio: getGridRatio( crossAxisCount: 2, context: context, height: 165, width: 180, ),
Your provided
height
andwidth
determine how it works
cFormUrlEncode({'':''});
-
For duration and delay
void splash() { // cDays, cHours, cMinutes, cSeconds, cMilliseconds 2.cSeconds.cDelay(() { // code here }); // given number in seconds 3.cDelay(() { // code here }); }
-
add TimeOfDay to DateTime
DateTime.now().cApplied(TimeOfDay.now())
-
Get the MediaQuery
context.cIsTablet context.cSize // getSize(context) context.cMQuery // mQuery(context) context.cWidth context.cHeight context.cTheme context.cIsDarkMode context.cIconColor context.cTextTheme context.cOrient // orientation context.cIsLand // landscape context.cIsPort // portrait context.cDevicePixelRatio
-
String utils
'text'.cToCapitalized 'text'.cToTitleCase 'text'.cIsLowerCase 'text'.cIsAllCap 'text'.cReverse 'text'.cIsDigit 'text'.cIsEmail 'text'.cIsAlphabetOnly 'text'.cIsPhoneIND 'text'.cIsURL 'text'.cIsPhoneNumber 'true'.cToBoolean // 0,1 also available '1000'.cToCurrencyIND
-
Get Random item from list
['aa', 'bb', 'cc', 'dd'].cRandomSelect.toString()
-
Get color from hash code
CHColor.fromHex('#fffff')
-
Get hash code from color
Color.fromRGBO(250, 250, 250, 0.1).toHex()
-
Allows you to handle
(padding/margin)
Text('data').cPadZero // cMargZero Text('data').cPadAll(10) // cMargAll Text('data').cPadOnly(l: 10, r: 10, t: 10, b: 10,) // cMargOnly Text('data').cPadSymmetric(h: 10, v: 10,), // cMargSymmetric
-
Allows you to handle
ClipRRect
Container().cClipAll(10) Container().cClipHorizontal(l:10, r:10,) Container().cClipVertical(t:10, b:10,) Container().cClipOnly(tl: 10, tr: 10, bl: 10, br: 10,)
-
Allows you to insert widgets inside a
CustomScrollView
Text('data').cToSliver
-
More widgets
Text('data').cVisible(true) Text('data').cOpacity(0.3) Text('data').cAbsorb(true) Text('data').cShadow() Text('data').cHero(tag)
-
Allows you to handle Alignment
Text('data').cAlignment(Alignment.topCenter) Text('data').cPosition(l: 10, r: 10, t: 10, b: 10,) Text('data').cToCenter Text('data').cExpand(2)
-
For PreferredSize
Text('data').cPreferSize(20)