build method
dynamic
build( - dynamic context
)
Implementation
@override
Widget build(BuildContext context) {
final height =
size == null ? MediaQuery.of(context).size.height / 3 : size!.height;
final width =
size == null ? MediaQuery.of(context).size.width : size!.width;
final cols = min(width / (EmojiConfig.emojiSizeMax * 2), 12).floor();
final emojiConfig = EmojiViewConfig(
backgroundColor: Theme.of(context).colorScheme.surface,
columns: cols,
emojiSizeMax: EmojiConfig.emojiSizeMax,
);
final catConfig = CategoryViewConfig(
customCategoryView: (config, state, tab, page) =>
actionBar(context, emojiConfig, state, tab, page),
);
final searchConfig = SearchViewConfig(
customSearchView: (_, state, showEmojiView) => _CustomSearchView(
Config(
emojiViewConfig: emojiConfig,
searchViewConfig: SearchViewConfig(
backgroundColor: Theme.of(context).colorScheme.surface,
buttonIconColor: Theme.of(context).colorScheme.onPrimary,
hintText: L10n.of(context).search,
),
checkPlatformCompatibility: EmojiConfig.checkPlatformCompatibility,
emojiTextStyle: EmojiConfig.emojiTextStyle,
),
state,
showEmojiView,
onClosePicker,
),
);
return Container(
padding: withBoarder
? const EdgeInsets.only(top: 10, left: 15, right: 15)
: null,
decoration: withBoarder
? BoxDecoration(
color: Theme.of(context).colorScheme.surface,
borderRadius:
const BorderRadius.vertical(top: Radius.circular(16)),
)
: null,
height: height,
child: Column(
children: [
Container(
margin: const EdgeInsets.only(bottom: 15),
width: 35,
height: 4,
decoration: BoxDecoration(
color: Colors.grey,
borderRadius: BorderRadius.circular(30),
),
),
Expanded(
child: EmojiPicker(
onEmojiSelected: onEmojiSelected,
onBackspacePressed: onBackspacePressed,
config: Config(
emojiViewConfig: emojiConfig,
categoryViewConfig: catConfig,
bottomActionBarConfig: const BottomActionBarConfig(
enabled: false,
),
searchViewConfig: searchConfig,
skinToneConfig: const SkinToneConfig(),
checkPlatformCompatibility:
EmojiConfig.checkPlatformCompatibility,
emojiTextStyle: EmojiConfig.emojiTextStyle,
),
),
),
],
),
);
}