在我的应用程序中,我使用 2 个材质应用程序来处理底部导航栏的导航。由于我的应用程序非常复杂,这是执行此操作的最佳方法。
在一个屏幕上,当用户未登录时,将打开一个底部表单,用户可以在其中输入他的登录凭据。
bottomSheet 应出现在导航栏上方。
在下面的代码片段中,这就是我解决它的方法。
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,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(),
);
}
}
final _navigationKey = GlobalKey<NavigatorState>();
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int currentIndex = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
resizeToAvoidBottomInset: true,
body: MaterialApp(
navigatorKey: _navigationKey, …Run Code Online (Sandbox Code Playgroud) 在我们现在正在编写的应用程序中,我们遇到了一个问题,如果将焦点放在底部工作表内的文本字段,键盘会在短暂闪烁后消失。
经过数小时的尝试修复,我试图隔离这种奇怪的行为并提出以下错误:
如果我点击非主页的页面脚手架底部工作表内的 TextField,键盘会消失。(见样本)
我已经在https://github.com/flutter/flutter/issues/36271上发布了这个,但还没有得到回应。
有人有想法吗?这真的是一个错误还是我在路线上做错了什么?
先感谢您。马库斯
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
routes: {
'secondPage': (_) => SecondPage(),
},
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Home(),
);
}
}
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
return Scaffold( …Run Code Online (Sandbox Code Playgroud) 试图用Sukhi修复该错误,但他无法重现该错误。我的同事们都可以复制它,但是无法修复它:P。还有其他人设法复制它吗?
还用我的代码创建了一个github存储库,并更新了“到目前为止我尝试过的”
我的问题仅发生在调试和发布的真实设备(而非模拟器)上的IO上。
我的确使用带有某些标记的google Maps小部件。轻按“标记”会打开另一个屏幕,其中包含更多信息,另一个Google Maps小部件以及通过URL启动器进行导航的可能性。(我将屏幕缩小为仅显示导致问题的小部件)
从该屏幕离开应用程序(例如,点击开始导航或转到IOs主屏幕),然后返回该应用程序会导致问题。
如果我再次返回到应用程序主屏幕,则仅显示白色屏幕。
将Google Maps Widget包装在Flex Widget(列或行)的信息屏幕中,甚至会导致更糟的行为。返回到Apps HomeScreen时,Flex窗口小部件的其他内容(例如带有文本的容器)将保持可见。
安装google_maps_flutter 0.5.20 + 1和url_launcher:5.0.3(我知道它不是最新的,但是那不是问题)
在不稳定的项目中复制CodeSnippet并在IO上构建。
点击标记
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:url_launcher/url_launcher.dart';
import 'dart:io';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root …Run Code Online (Sandbox Code Playgroud)