sensors 2.0.3 copy "sensors: ^2.0.3" to clipboard
sensors: ^2.0.3 copied to clipboard

discontinuedreplaced by: sensors_plus
PlatformAndroidiOS

Flutter plugin for accessing the Android and iOS accelerometer and gyroscope sensors.

example/lib/main.dart

// Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // ignore_for_file: public_member_api_docs import 'dart:async'; import 'package:flutter/material.dart'; import 'package:sensors/sensors.dart'; import 'snake.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Sensors Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key? key, required this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { static const int _snakeRows = 20; static const int _snakeColumns = 20; static const double _snakeCellSize = 10.0; List<double>? _accelerometerValues; List<double>? _userAccelerometerValues; List<double>? _gyroscopeValues; List<StreamSubscription<dynamic>> _streamSubscriptions = <StreamSubscription<dynamic>>[]; @override Widget build(BuildContext context) { final List<String>? accelerometer = _accelerometerValues?.map((double v) => v.toStringAsFixed(1)).toList(); final List<String>? gyroscope = _gyroscopeValues?.map((double v) => v.toStringAsFixed(1)).toList(); final List<String>? userAccelerometer = _userAccelerometerValues ?.map((double v) => v.toStringAsFixed(1)) .toList(); return Scaffold( appBar: AppBar( title: const Text('Sensor Example'), ), body: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: <Widget>[ Center( child: DecoratedBox( decoration: BoxDecoration( border: Border.all(width: 1.0, color: Colors.black38), ), child: SizedBox( height: _snakeRows * _snakeCellSize, width: _snakeColumns * _snakeCellSize, child: Snake( rows: _snakeRows, columns: _snakeColumns, cellSize: _snakeCellSize, ), ), ), ), Padding( child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: <Widget>[ Text('Accelerometer: $accelerometer'), ], ), padding: const EdgeInsets.all(16.0), ), Padding( child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: <Widget>[ Text('UserAccelerometer: $userAccelerometer'), ], ), padding: const EdgeInsets.all(16.0), ), Padding( child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: <Widget>[ Text('Gyroscope: $gyroscope'), ], ), padding: const EdgeInsets.all(16.0), ), ], ), ); } @override void dispose() { super.dispose(); for (StreamSubscription<dynamic> subscription in _streamSubscriptions) { subscription.cancel(); } } @override void initState() { super.initState(); _streamSubscriptions .add(accelerometerEvents.listen((AccelerometerEvent event) { setState(() { _accelerometerValues = <double>[event.x, event.y, event.z]; }); })); _streamSubscriptions.add(gyroscopeEvents.listen((GyroscopeEvent event) { setState(() { _gyroscopeValues = <double>[event.x, event.y, event.z]; }); })); _streamSubscriptions .add(userAccelerometerEvents.listen((UserAccelerometerEvent event) { setState(() { _userAccelerometerValues = <double>[event.x, event.y, event.z]; }); })); } }
382
likes
150
points
6.85k
downloads

Publisher

verified publisherflutter.dev

Weekly Downloads

Flutter plugin for accessing the Android and iOS accelerometer and gyroscope sensors.

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter

More

Packages that depend on sensors

Packages that implement sensors