imSanjaySoni/ObscureWidget
ObscureWidget plugin which blurs its child when the screen is being recorded. ObscureWidget.builder() gives extra control to add custom handling when the screen is recorded.
- Stars
- 13
- Forks
- 0
- Last push (UTC)
- Sep 23, 2023
- Project status
- Active
LanguagesDartRubySwiftObjective-C
Technical topics
Dependencies used
Dependency list 3 items
- flutter
{"sdk":"flutter"} - flutter_testDevelopment
{"sdk":"flutter"} - flutter_lintsDevelopment
^2.0.0
Original README
English project snapshot. Visit GitHub for the latest content.
Expand / collapse project README
ObscureWidget Plugin
Platform iOS Pub Pub Pub Pub Points GitHub issues License
ObscureWidget() blurs its child when the screen is being captured. ObscureWidget.builder() gives extra control to add custom handling when recording the screen. currently supported on only the iOS platform.
Example
| Demo | Initial | While Recording |
|---|---|---|
| Demo | Demo | Demo |
Usages
Let's look at how to use the ObscureWidget, ObscureWidget.builder(), and .obscured() extensions.
ObscureWidget
supported parameters blur, blurColor, borderRadius, and colorOpacity
ObscureWidget(
child: Container(
width: double.infinity,
color: Colors.amber,
padding: const EdgeInsets.all(18.0),
child: Text(
'Secure Text',
style: Theme.of(context).textTheme.headline6,
),
),
)
with .obscured() extension
Container(
width: double.infinity,
color: Colors.amber,
padding: const EdgeInsets.all(18.0),
child: Text(
'Other Secure Text with extension',
style: Theme.of(context).textTheme.headline6,
),
).obscured(blur: 2, blurColor: Colors.red),
ObscureWidget.builder()
use this for custom implementation
ObscureWidget.builder(
obscureBuilder: (context, isCaptured, child) {
return Container(
decoration: BoxDecoration(
border: Border.all(
width: 4,
color: isCaptured ? Colors.red : Colors.green,
),
),
child: child,
);
},
child: Container(
width: double.infinity,
color: Colors.black,
padding: const EdgeInsets.all(18.0),
child: Text(
'Other Secure Text with builder constructor',
style: Theme.of(context).textTheme.headline6?.copyWith(color: Colors.white),
),
),
)