Close keyboard when open toolbar

pull/1384/head
Kelrap 1 year ago
parent 276f3ee913
commit 7fdf9a5c92

@ -423,8 +423,9 @@ class ChatView extends StatelessWidget {
),
),
// #Pangea
// Keep messages above minimum input bar height
SizedBox(
height: (PlatformInfos.isMobile ? 15 : 50),
height: (PlatformInfos.isMobile ? 24 : 50),
),
// Pangea#
],
@ -445,7 +446,7 @@ class ChatView extends StatelessWidget {
Positioned(
left: 0,
right: 0,
bottom: 7,
bottom: 13,
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,

@ -58,10 +58,9 @@ class ToolbarDisplayController {
);
}
void showToolbar(
BuildContext context, {
MessageMode? mode,
}) {
void showToolbar(BuildContext context, {MessageMode? mode}) {
// Close keyboard, if open
FocusManager.instance.primaryFocus?.unfocus();
bool toolbarUp = true;
if (highlighted) return;
if (controller.selectMode) {
@ -87,12 +86,13 @@ class ToolbarDisplayController {
if (targetOffset.dy < 320) {
final spaceBeneath = MediaQuery.of(context).size.height -
(targetOffset.dy + transformTargetSize.height);
if (spaceBeneath >= 320) {
toolbarUp = false;
}
// If toolbar is open, opening toolbar beneath without scrolling can cause issues
// if (spaceBeneath >= 320) {
// toolbarUp = false;
// }
// See if it's possible to scroll up to make space
else if (controller.scrollController.offset - targetOffset.dy + 320 >=
if (controller.scrollController.offset - targetOffset.dy + 320 >=
controller.scrollController.position.minScrollExtent &&
controller.scrollController.offset - targetOffset.dy + 320 <=
controller.scrollController.position.maxScrollExtent) {
@ -152,13 +152,7 @@ class ToolbarDisplayController {
? CrossAxisAlignment.end
: CrossAxisAlignment.start,
children: [
toolbarUp
// Column is limited to screen height
// If message portion is too tall, decrease toolbar height
// as necessary to prevent toolbar from acting strange
// Problems may still occur if toolbar height is decreased too much
? toolbar!
: overlayMessage,
toolbarUp ? toolbar! : overlayMessage,
const SizedBox(height: 6),
toolbarUp ? overlayMessage : toolbar!,
],
@ -419,8 +413,7 @@ class MessageToolbarState extends State<MessageToolbar> {
@override
Widget build(BuildContext context) {
return Flexible(
child: Material(
return Material(
type: MaterialType.transparency,
child: Container(
padding: const EdgeInsets.all(10),
@ -499,7 +492,6 @@ class MessageToolbarState extends State<MessageToolbar> {
],
),
),
),
);
}
}

Loading…
Cancel
Save