I'm using emoji_picker_flutter package to show emoji_Keyboard,In MaterialApp this package is working fine, But In CupertinoApp if i try to display emoji_Keyboard..
----> it is showing Error Like this:-
The following assertion was thrown building Expanded(flex: 1):
No Material widget found.
TabBar widgets require a Material widget ancestor.
In Material Design, most widgets are conceptually "printed" on a sheet of material. In Flutter's material library, that material is represented by the Material widget. It is the Material widget that renders ink splashes, for instance. Because of this, many material library widgets require that there be a Material widget in the tree above them.
To introduce a Material widget, you can either directly include one, or use a widget that contains Material itself, such as a Card, Dialog, Drawer, or Scaffold.
The specific widget that could not find a Material ancestor was: TabBar
dirty
state: _TabBarState#7a158(lifecycle state: initialized)
The ancestors of this widget were:
: EmojiPicker
state: EmojiPickerState#41b15
: SizedBox
height: 250.0
renderObject: RenderConstrainedBox#41032 relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
: Offstage
offstage: false
renderObject: RenderOffstage#75a19 relayoutBoundary=up1 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
: Column
direction: vertical
mainAxisAlignment: center
crossAxisAlignment: center
renderObject: RenderFlex#86b9d NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
: ExampleWidget
state: _ExampleWidgetState#33774
: CupertinoApp
state: _CupertinoAppState#a8056
: MyApp
...
The relevant error-causing widget was:
EmojiPicker EmojiPicker:file:///D:/emoji_picker_fluttertest/lib/main.dart:85:22
When the exception was thrown, this was the stack:
#0 debugCheckHasMaterial.<anonymous closure> (package:flutter/src/material/debug.dart:29:7)
#1 debugCheckHasMaterial (package:flutter/src/material/debug.dart:50:4)
#2 _TabBarState.didChangeDependencies (package:flutter/src/material/tabs.dart:1013:12)
#3 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5036:11)
#4 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4853:5)
... Normal element mounting (4 frames)
#8 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#9 Element.updateChild (package:flutter/src/widgets/framework.dart:3586:20)
#10 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904:16)
#11 Element.rebuild (package:flutter/src/widgets/framework.dart:4604:5)
#12 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228:5)
#13 Element.updateChild (package:flutter/src/widgets/framework.dart:3570:15)
#14 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5904:32)
#15 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6460:17)
#16 Element.updateChild (package:flutter/src/widgets/framework.dart:3570:15)
#17 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5904:32)
#18 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6460:17)
#19 Element.updateChild (package:flutter/src/widgets/framework.dart:3570:15)
#20 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6307:14)
#21 Element.updateChild (package:flutter/src/widgets/framework.dart:3570:15)
#22 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904:16)
#23 Element.rebuild (package:flutter/src/widgets/framework.dart:4604:5)
#24 StatelessElement.update (package:flutter/src/widgets/framework.dart:4956:5)
#25 Element.updateChild (package:flutter/src/widgets/framework.dart:3570:15)
#26 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904:16)
#27 Element.rebuild (package:flutter/src/widgets/framework.dart:4604:5)
#28 StatelessElement.update (package:flutter/src/widgets/framework.dart:4956:5)
#29 Element.updateChild (package:flutter/src/widgets/framework.dart:3570:15)
#30 _LayoutBuilderElement._layout.layoutCallback (package:flutter/src/widgets/layout_builder.dart:135:18)
#31 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2605:19)
#32 _LayoutBuilderElement._layout (package:flutter/src/widgets/layout_builder.dart:153:12)
#33 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2246:59)
#34 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1035:15)
#35 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2246:14)
#36 RenderConstrainedLayoutBuilder.rebuildIfNecessary (package:flutter/src/widgets/layout_builder.dart:228:7)
#37 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:316:5)
#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#39 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#40 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:292:14)
#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#42 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#44 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3737:13)
#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#46 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#47 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:56:11)
#48 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:836:43)
#49 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:938:32)
#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#51 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#54 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#57 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#60 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#61 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:56:11)
#62 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:595:43)
#63 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:622:12)
#64 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#65 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#68 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#69 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#71 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#73 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#74 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#75 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#76 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#77 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#79 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#80 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#81 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#82 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#83 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#84 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#85 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3737:13)
#86 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#87 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#88 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#89 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#90 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#91 _RenderTheatre.performLayout (package:flutter/src/widgets/overlay.dart:804:15)
#92 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#93 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#94 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#95 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#96 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#97 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#98 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#99 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#100 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#101 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#102 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#103 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#104 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:552:11)
#105 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#106 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#107 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#108 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#109 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#110 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#111 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#112 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#113 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#114 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#115 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#116 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#117 RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#118 RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#119 RenderView.performLayout (package:flutter/src/rendering/view.dart:170:14)
#120 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1973:7)
#121 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:999:18)
#122 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:513:19)
#123 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:884:13)
#124 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:378:5)
#125 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1175:15)
#126 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1104:9)
#127 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:881:7)
(elided 4 frames from class _RawReceivePortImpl, class _Timer, and dart:async-patch)
====================================================================================================
======== Exception caught by rendering library =====================================================
The following assertion was thrown during layout:
A RenderFlex overflowed by 99750 pixels on the bottom.
The relevant error-causing widget was:
EmojiPicker EmojiPicker:file:///D:/emoji_picker_fluttertest/lib/main.dart:85:22
The overflowing RenderFlex has an orientation of Axis.vertical.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be seen. If the content is legitimately bigger than the available space, consider clipping it with a ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex, like a ListView.
The specific RenderFlex in question is: RenderFlex#72463 relayoutBoundary=up5 OVERFLOWING
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, h=250.0)
... size: Size(392.7, 250.0)
... direction: vertical
... mainAxisAlignment: start
... mainAxisSize: max
... crossAxisAlignment: center
... verticalDirection: down
this is code for i tried to display emoji_keyword in CupertinoApp flutter
Expecting to show :- If we click ant_circle CupertinoButton,it needs to show Emoji_Keyboard..
Hello. This is code
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
import 'package:flutter/cupertino.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return CupertinoApp(
title: 'Flutter Demo',
home: ExampleWidget(),
);
}
}
class ExampleWidget extends StatefulWidget {
ExampleWidget({Key? key}) : super(key: key);
@override
\_ExampleWidgetState createState() =\> \_ExampleWidgetState();
}
/// State for \[ExampleWidget\] widgets.
class \_ExampleWidgetState extends State\<ExampleWidget\> {
final TextEditingController \_controller = TextEditingController();
bool emojiShowing = false;
@override
void dispose() {
\_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: \<Widget\>\[
const Spacer(),
Container(
height: 66.0,
color: CupertinoColors.activeBlue,
child: Row(
children: \[
CupertinoButton(
onPressed: () {
setState(() {
emojiShowing = !emojiShowing;
});
},
child: const Icon(
CupertinoIcons.ant_circle,
color: CupertinoColors.white,
),
),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0),
child: CupertinoTextField(
controller: \_controller,
style: const TextStyle(
fontSize: 20.0, color: CupertinoColors.white),
),
),
),
CupertinoButton(
onPressed: () {
// send message
},
child: const Icon(
CupertinoIcons.paperplane_fill,
color: CupertinoColors.white,
),
),
\],
)),
Offstage(
offstage: !emojiShowing,
child: SizedBox(
height: 250,
child: EmojiPicker(
textEditingController: \_controller,
config: const Config(
columns: 7,
// Issue: https://github.com/flutter/flutter/issues/28894
verticalSpacing: 0,
horizontalSpacing: 0,
gridPadding: EdgeInsets.zero,
initCategory: Category.RECENT,
bgColor: Color(0xFFF2F2F2),
indicatorColor: CupertinoColors.activeBlue,
iconColor: CupertinoColors.inactiveGray,
iconColorSelected: CupertinoColors.activeBlue,
backspaceColor: CupertinoColors.activeBlue,
skinToneDialogBgColor: CupertinoColors.white,
skinToneIndicatorColor: CupertinoColors.inactiveGray,
enableSkinTones: true,
showRecentsTab: true,
recentsLimit: 28,
replaceEmojiOnLimitExceed: false,
noRecents: Text(
'No Recents',
style:
TextStyle(fontSize: 20, color: CupertinoColors.black),
textAlign: TextAlign.center,
),
loadingIndicator: SizedBox.shrink(),
categoryIcons: CategoryIcons(),
buttonMode: ButtonMode.CUPERTINO,
checkPlatformCompatibility: true,
),
)),
),
\],
);
}
}