FLUTTER ECOSYSTEM

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.

ObscureWidget project cover
Stars
13
Forks
0
Last push (UTC)
Sep 23, 2023
Project status
Active
Sanjay Soni GitHub avatar
GITHUB User

Sanjay Soni ↗

Mobile Engineer | Prev. Tap, Uni Cards | Flutter, SwiftUI

Bangalore
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),
        ),
    ),
)