Интересно, почему Flutter чудесно поворачивается из книжного в альбомный режим, если работает на устройстве iOS, но не вращается вообще на моем устройстве Android ??
В качестве примера кода вы найдете пример "hello world"ниже.Опять же, также для этого простого примера кода, Flutter вращается для устройства iOS из коробки, но он не вращается для Android.Почему ??
То же самое верно для более сложных приложений, добавляющих ListViews или других (то есть iOS вращается хорошо, а Android нет).
Я нашел что-то под названием OrientationBuilder
( link1 ) или MediaQuery.orientation
( link2 ).Но это, кажется, только предлагает возможность различать ориентации устройства, и тогда вы должны действовать соответствующим образом в коде.Это кажется возможным решением, но мне интересно, почему я должен вкладывать дополнительные средства в устройства Android, а не в iOS?
Мне нужна возможность «АВТОМАТИЧЕСКОГО» вращения для Android под Flutter (так же, как для iOS).делает это из коробки).Как мне этого добиться?
Вот два скриншота моего примера "Привет, мир".(iOS вращается из коробки / Android нет):
![enter image description here](https://i.stack.imgur.com/w7QPa.png)
![enter image description here](https://i.stack.imgur.com/TEqgb.png)
А вот и Dart-код:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter = _counter + 2;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}