Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
mobile_scanner
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Julian Steenbakker
2022-02-17 09:15:03 +0100
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2022-02-17 09:15:03 +0100
Commit
37adee79090f0c95bc2ac6d863eb37d008844e80
37adee79
1 parent
7d6bdd17
style: add docs
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
105 additions
and
8 deletions
README.md
README.md
View file @
37adee7
# mobile_scanner
[

](https://pub.dev/packages/mobile_scanner)
[

](https://github.com/juliansteenbakker/mobile_scanner/actions/workflows/flutter.yml)
An universal scanner for Flutter based on MLKit.
## Getting Started
## Platform Support
| Android | iOS | MacOS | Web | Linux | Windows |
| :-----: | :-: | :---: | :-: | :---: | :-----: |
| ✔️ | ✔️ | | | | |
# Usage
Import
`package:mobile_scanner/mobile_scanner.dart`
, and use the widget with or without the controller.
If you don't provide a controller, you can't control functions like the torch(flash) or switching camera.
Example without controller:
```
dart
import
'package:mobile_scanner/mobile_scanner.dart'
;
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
appBar:
AppBar
(
title:
const
Text
(
'Mobile Scanner'
)),
body:
MobileScanner
(
onDetect:
(
barcode
,
args
)
{
final
String
code
=
barcode
.
rawValue
;
debugPrint
(
'Barcode found!
$code
'
);
}),
);
}
```
Example with controller and initial values:
```
dart
import
'package:mobile_scanner/mobile_scanner.dart'
;
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
appBar:
AppBar
(
title:
const
Text
(
'Mobile Scanner'
)),
body:
MobileScanner
(
controller:
MobileScannerController
(
facing:
CameraFacing
.
front
,
torchEnabled:
true
),
onDetect:
(
barcode
,
args
)
{
final
String
code
=
barcode
.
rawValue
;
debugPrint
(
'Barcode found!
$code
'
);
}),
);
}
```
Example with controller and torch & camera controls:
This project is a starting point for a Flutter
[
plug-in package
](
https://flutter.dev/developing-packages/
)
,
a specialized package that includes platform-specific implementation code for
Android and/or iOS.
```
dart
import
'package:mobile_scanner/mobile_scanner.dart'
;
For help getting started with Flutter, view our
[
online documentation
](
https://flutter.dev/docs
)
, which offers tutorials,
samples, guidance on mobile development, and a full API reference.
MobileScannerController
cameraController
=
MobileScannerController
();
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
appBar:
AppBar
(
title:
const
Text
(
'Mobile Scanner'
),
actions:
[
IconButton
(
color:
Colors
.
white
,
icon:
ValueListenableBuilder
(
valueListenable:
cameraController
.
torchState
,
builder:
(
context
,
state
,
child
)
{
switch
(
state
as
TorchState
)
{
case
TorchState
.
off
:
return
const
Icon
(
Icons
.
flash_off
,
color:
Colors
.
grey
);
case
TorchState
.
on
:
return
const
Icon
(
Icons
.
flash_on
,
color:
Colors
.
yellow
);
}
},
),
iconSize:
32.0
,
onPressed:
()
=>
cameraController
.
toggleTorch
(),
),
IconButton
(
color:
Colors
.
white
,
icon:
ValueListenableBuilder
(
valueListenable:
cameraController
.
cameraFacingState
,
builder:
(
context
,
state
,
child
)
{
switch
(
state
as
CameraFacing
)
{
case
CameraFacing
.
front
:
return
const
Icon
(
Icons
.
camera_front
);
case
CameraFacing
.
back
:
return
const
Icon
(
Icons
.
camera_rear
);
}
},
),
iconSize:
32.0
,
onPressed:
()
=>
cameraController
.
switchCamera
(),
),
],
),
body:
MobileScanner
(
controller:
cameraController
,
onDetect:
(
barcode
,
args
)
{
final
String
code
=
barcode
.
rawValue
;
debugPrint
(
'Barcode found!
$code
'
);
}));
}
```
...
...
Please
register
or
login
to post a comment