Flutter:尝试撸一个具有惯性跟阻力的旋转控件或用传感器控制其旋转
生活随笔
收集整理的這篇文章主要介紹了
Flutter:尝试撸一个具有惯性跟阻力的旋转控件或用传感器控制其旋转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
來源
一直都想寫一個可以轉動的Widget,并且可以近似的模擬生活中的慣性跟阻力,因為設計到一些數學公式,作者還去請教了我的高中老師,最后學了點傳感器,就直接外加個可選擇傳感器控制了
效果
實現方法
邏輯部分比較復雜,作者寫了好幾天,最后干脆直接寫了一個Dart Packages上傳到了Pub,里面有大量的注釋,代碼還很不簡化體諒一下,歡迎體驗
將其添加到包的pubspec.yaml文件中:
dependencies: rotated_view: ^1.0.1 復制代碼然后導入包
import 'package:rotated_view/rotated_view.dart'; 復制代碼代碼部分
import 'dart:async';import 'package:flutter/material.dart'; import 'package:rotated_view/rotated_view.dart';void main() => runApp(MyApp());class MyApp extends StatefulWidget { _MyAppState createState() => _MyAppState(); }class _MyAppState extends State<MyApp> { StreamSubscription _subscription; void initState() {super.initState(); } void dispose() {if (_subscription != null) {_subscription.cancel();}super.dispose(); } Widget build(BuildContext context) {return MaterialApp(color: Colors.black,home: Scaffold(body: Center(child: Column(children: <Widget>[Padding(padding: EdgeInsets.fromLTRB(0, 100, 0, 0),),Container(width: 400,height: 400,child: RotatedView(child: Image.asset("images/launcher_background.png"),usesensor: false,issame: false,haveinertia: true,),),Text(""),],)),),); } } 復制代碼我的FlutterGithub
轉載于:https://juejin.im/post/5c3b352d5188253a317b50d1
總結
以上是生活随笔為你收集整理的Flutter:尝试撸一个具有惯性跟阻力的旋转控件或用传感器控制其旋转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试题解(2):loop相关
- 下一篇: laravel 缓存相关常用操作