build method

  1. @override
dynamic build(
  1. 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,
            ),
          ),
        ),
      ],
    ),
  );
}