-
Notifications
You must be signed in to change notification settings - Fork 26.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MediaQuery viewInsets are incorrect when the iPad mini keyboard first opens #68731
Comments
@fbcouch |
|
@fbcouch Thanks for the steps. I was able to replicate it on iPad 8th gen. flutter doctor -v
|
Just an update here – this is still an issue in flutter 2.10.4 |
Hi @fbcouch, I verified the issue on the latest master 3.7 and I see the bottom offsets for a floating keyboard is correctly returned as zero. Screen.Recording.2022-12-27.at.7.43.28.PM.movcode sampleimport 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
builder: (BuildContext context, Widget? child) {
print(MediaQuery.of(context).viewInsets);
return child!;
},
home: const HomePadding(),
);
}
}
class HomePadding extends StatelessWidget {
const HomePadding({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
final MediaQueryData data = MediaQuery.of(context);
EdgeInsets padding = EdgeInsets.only(bottom: data.viewInsets.bottom);
return Material(
color: Colors.white,
child: Padding(
padding: padding,
child: Container(
color: Colors.blue,
child: Column(
children: [
Expanded(
child: Container(),
),
Container(
color: Colors.red,
child: TextField(
onTap: () {
print(MediaQuery.of(context).viewInsets);
},
),
),
],
),
),
),
);
}
}
logsflutter: EdgeInsets.zero
flutter: EdgeInsets(0.0, 0.0, 0.0, 408.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 383.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 349.2)
flutter: EdgeInsets(0.0, 0.0, 0.0, 307.9)
flutter: EdgeInsets(0.0, 0.0, 0.0, 271.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 235.3)
flutter: EdgeInsets(0.0, 0.0, 0.0, 203.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 175.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 151.9)
flutter: EdgeInsets(0.0, 0.0, 0.0, 133.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 117.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 104.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 93.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 85.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 78.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 73.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 69.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 66.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 63.6)
flutter: EdgeInsets(0.0, 0.0, 0.0, 61.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 60.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 58.9)
flutter: EdgeInsets(0.0, 0.0, 0.0, 58.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 57.3)
flutter: EdgeInsets(0.0, 0.0, 0.0, 56.8)
flutter: EdgeInsets(0.0, 0.0, 0.0, 56.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 56.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 55.8)
flutter: EdgeInsets(0.0, 0.0, 0.0, 55.6)
flutter: EdgeInsets(0.0, 0.0, 0.0, 55.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 55.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 55.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 55.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 53.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 48.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 42.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 36.2)
flutter: EdgeInsets(0.0, 0.0, 0.0, 30.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 25.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 20.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 16.6)
flutter: EdgeInsets(0.0, 0.0, 0.0, 13.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 10.8)
flutter: EdgeInsets(0.0, 0.0, 0.0, 8.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 6.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 5.2)
flutter: EdgeInsets(0.0, 0.0, 0.0, 4.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 3.2)
flutter: EdgeInsets(0.0, 0.0, 0.0, 2.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 1.9)
flutter: EdgeInsets(0.0, 0.0, 0.0, 1.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 1.2)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.9)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.3)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.2)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.2)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.1)
flutter: EdgeInsets.zero
flutter: EdgeInsets.zero
flutter: EdgeInsets(0.0, 0.0, 0.0, 0.6)
flutter: EdgeInsets(0.0, 0.0, 0.0, 18.6)
flutter: EdgeInsets(0.0, 0.0, 0.0, 56.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 100.3)
flutter: EdgeInsets(0.0, 0.0, 0.0, 145.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 190.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 228.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 261.3)
flutter: EdgeInsets(0.0, 0.0, 0.0, 288.6)
flutter: EdgeInsets(0.0, 0.0, 0.0, 311.9)
flutter: EdgeInsets(0.0, 0.0, 0.0, 331.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 347.8)
flutter: EdgeInsets(0.0, 0.0, 0.0, 360.5)
flutter: EdgeInsets(0.0, 0.0, 0.0, 370.8)
flutter: EdgeInsets(0.0, 0.0, 0.0, 378.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 385.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 390.3)
flutter: EdgeInsets(0.0, 0.0, 0.0, 394.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 397.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 399.8)
flutter: EdgeInsets(0.0, 0.0, 0.0, 401.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 403.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 404.2)
flutter: EdgeInsets(0.0, 0.0, 0.0, 405.1)
flutter: EdgeInsets(0.0, 0.0, 0.0, 405.8)
flutter: EdgeInsets(0.0, 0.0, 0.0, 406.3)
flutter: EdgeInsets(0.0, 0.0, 0.0, 406.7)
flutter: EdgeInsets(0.0, 0.0, 0.0, 407.0)
flutter: EdgeInsets(0.0, 0.0, 0.0, 407.3)
flutter: EdgeInsets(0.0, 0.0, 0.0, 407.4)
flutter: EdgeInsets(0.0, 0.0, 0.0, 408.0)
flutter: EdgeInsets.zero
flutter: EdgeInsets.zero
flutter: EdgeInsets.zero
flutter: EdgeInsets.zero
flutter: EdgeInsets.zero flutter doctor -v (mac)
Closing as fixed, In case you still encounter the issue, then please feel free to write in the comments and we will reopen it. Thank you. |
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of |
Steps to Reproduce
flutter create bug
.main.dart
:Run in an iPad simulator (currently using iOS 13.5)
Tap to focus on the text input (red background)
Pinch to zoom on the keyboard to open the mini keyboard (viewInsets.bottom changes to zero as expected)
Press 'Done' to close the keyboard
Tap to focus on the text input (red background)
Expected results:
viewInsets.bottom
should be zero since the mini keyboard is floating above the appActual results:
viewInsets.bottom
has the size of the mini keyboard until it is moved (the white area at the bottom of the screen is theviewInsets.bottom
)Logs
flutter run --verbose
The text was updated successfully, but these errors were encountered: