que agrega emojis, pegatinas, … compatibilidad con su aplicación de Android
DemoAPK • Versiones
Capturas de pantalla
Resumen
Instalación [19659005] AXEmojiView está disponible en JCenter, así que agréguelo como una dependencia (módulo gradle)
Última versión: 1.2.2
Implementación de Gradle
& # 39; com.aghajari. emojiview: AXEmojiView: 1.2.2 & # 39;
Maven
< dependencia >
< groupId > com.aghajari.emojiview </ groupId >
< artifactId > AXEmojiView </ artifactId >
< versión > 1.2.2 </ versión >
< tipo > pom </ tipo >
</ adicción >
¡COMENZEMOS!
Instalar Emoji Provider
El primer paso, debe instalar EmojiView con su EmojiProvider.
AXEmojiManager . instala ( este nuevo [19659017] AXIOSEmojiProvider ());
Proveedor de emojis personalizado
Si desea mostrar su Emoji, puede crear su propia implementación de EmojiProvider
y pasarlo a AXEmojiManager.install
.
Uso básico
Cree un AXEmojiEditText
en su diseño.
< com .aghajari.axemojiview.view.AXEmojiEditText
android : id = " @ + id / edt "
android : layout_width = [19659009] " match_parent "
android : layout_height = " match_parent "
android : sugerencia = " ingresa tu mensaje ... " />
Ahora debes crear una página. Las páginas actuales son:
- EmojiView
- SingleEmojiView
- StickerView
Probemos EmojiView:
AXEmojiEditText edt = findViewById ( R [id[1965459016]. . edt);
AXEmojiView emojiView = nuevo AXEmojiView ( este );
emojiView . setEditText (edt);
Y agregue esta página a AXEmojiPopup:
AXEmojiPopup emojiPopup = new AXEmojiPopup
emojiPopup . alternar (); // Alternar la visibilidad del Popup.
emojiPopup . show (); // Muestra la ventana emergente.
emojiPopup . descartar (); // Cierre la ventana emergente.
emojiPopup . isShowing (); // Devuelve verdadero cuando se muestra Popup.
¡Y terminamos!
AXEmojiPopupLayout
también puede crear un AXEmojiPopupLayout en lugar de AXEmojiPopup! Creo que AXEmojiPopupLayout tiene un mejor rendimiento.
- cree un AXEmojiPopupLayout en su diseño.
< com .aghajari.emojiview.view.AXEmojiPopupLayout
android : id = " @ + id / layout "
android : layout_width = [19659009] " match_parent "
android : layout_height = " wrap_content "
android : layout_gravity = " parte inferior " />
- agrega la página creada a AXEmojiPopupLayout:
AXEmojiPopupLayout diseño = findViewBy29 19659015]. id . diseño);
diseño . initPopupView (emojiView);
diseño . alternar (); // Alternar la visibilidad del Popup.
diseño . show (); // Muestra la ventana emergente.
diseño . descartar (); // Cierre la ventana emergente.
diseño . hideAndOpenKeyboard (); // Ocultar la ventana emergente
diseño . isShowing (); // Devuelve verdadero cuando se muestra Popup.
¡El resultado es el mismo que el resultado de AXEmojiPopup!
Vista de un solo emoji
SingleEmojiView es un RecyclerView y todos los emoji se cargarán en una página (igual que Telegram Inc)
AXSingleEmojiView emojiView = nuevo AXSingleEmoji46] AXSingle46] ] ( este );
emojiView . setEditText (edt);
Resultado:
StickerView
StickerView: tienes que crear tu StickerProvider y subir todos tus stickers (desde Url, Res, Bitmap o lo que quieras!) Ver ejemplo: WhatsAppProvider
[19659014] AXStickerView stickerView = new AXStickerView ( this " stickers " new [19659046] MyStickerProvider ());
Resultado:
También puede crear sus propias páginas personalizadas en StickerProvider. ver ejemplo: ShopStickers
Resultado:
AXEmojiPager – ¡Use varias páginas juntas!
puede crear un AXEmojiPager y agregar todas sus páginas (EmojiView, StickerView, …) a EmojiPager
Habilitar la vista de pie de página en la configuración del tema (si lo desea):
AXEmojiManager . getEmojiViewTheme () . setFooterEnabled ( true );
Y crea tu EmojiPager:
AXEmojiPager emojiPager = nuevo AXEmojiPager ( este );
AXSingleEmojiView singleEmojiView = nuevo AXSingleEmojiView ( este );
emojiPager . addPage (singleEmojiView, R . dibujable . ic_msg_panel_smiles);
AXStickerView stickerView = new AXStickerView ( this " stickers " new WhatsAppProvider ());
emojiPager . addPage (stickerView, R . dibujable . ic_msg_panel_stickers);
emojiPager . setSwipeWithFingerEnabled ( true );
emojiPager . setEditText (edt);
AXEmojiPopup emojiPopup = nuevo AXEmojiPopup (emojiPager);
// layout.initPopupView (emojiPager);
Agrega el botón de búsqueda al pie de página:
emojiPager . setLeftIcon ( R . dibujable . ic_ab_search);
// Escucha de clics
emojiPager . setOnFooterItemClicked ( nuevo AXEmojiPager .onFooterItemClicked () {
@Override
public void onClick ( boolean leftIcon ) {
si (leftIcon) Toast . makeText ( EmojiActivity . este " Se hizo clic en la búsqueda " Toast . LORTENG4590 ]) . show ();
}
});
Resultado:
Cree sus páginas personalizadas
Cree un AXEmojiBase (ViewGroup) y cargue su diseño de página y agregue su página personalizada a emojiPager
Ejemplo : [19659146] LoadingPage
emojiPager . addPage ( nuevo LoadingView ( este ), R . dibujable . msg_round_load_m);
Resultado:
Personalización
Personalice el tema con AXEmojiTheme.
AXEmojiManager. AXEmojiManager. 1965 getEmojiViewTheme () . setSelectionColor ( 0xffFF4081 );
AXEmojiManager . getEmojiViewTheme () . setFooterSelectedItemColor ( 0xffFF4081 );
AXEmojiManager . getEmojiViewTheme () . setFooterBackgroundColor ( Color . BLANCO );
AXEmojiManager . getEmojiViewTheme () . setSelectionColor ( Color . TRANSPARENTE );
AXEmojiManager . getEmojiViewTheme () . setSelectedColor ( 0xffFF4081 );
AXEmojiManager . getEmojiViewTheme () . setCategoryColor ( Color . BLANCO );
AXEmojiManager . getEmojiViewTheme () . setAlwaysShowDivider ( true );
AXEmojiManager . getEmojiViewTheme () . setBackgroundColor ( Color . LTGRAY );
AXEmojiManager . getStickerViewTheme () . setSelectedColor ( 0xffFF4081 );
AXEmojiManager . getStickerViewTheme () . setCategoryColor ( Color . BLANCO );
AXEmojiManager . getStickerViewTheme () . setAlwaysShowDivider ( true );
AXEmojiManager . getStickerViewTheme () . setBackgroundColor ( Color . LTGRAY ); [1965909108Risultato:] Pie de página personalizado
// deshabilita el pie de página predeterminado
AXEmojiManager . getEmojiViewTheme () . setFooterEnabled ( false );
AXEmojiManager . getInstance () . setBackspaceCategoryEnabled ( false );
// agregue su pie de página en AXEmojiPager
EmojiPager . setCustomFooter (footerView, true );
Resultado:
DarkMode
AXEmojiManager . getEmojiViewTheme () . setFooterEnabled ( true );
AXEmojiManager . getEmojiViewTheme () . setSelectionColor ( 0xff82ADD9 );
AXEmojiManager . getEmojiViewTheme () . setSelectedColor ( 0xff82ADD9 );
AXEmojiManager . getEmojiViewTheme () . setFooterSelectedItemColor ( 0xff82ADD9 );
AXEmojiManager . getEmojiViewTheme () . setBackgroundColor ( 0xFF1E2632 );
AXEmojiManager . getEmojiViewTheme () . setCategoryColor ( 0xFF1E2632 );
AXEmojiManager . getEmojiViewTheme () . setFooterBackgroundColor ( 0xFF1E2632 );
AXEmojiManager . getEmojiViewTheme () . setVariantPopupBackgroundColor ( 0xFF232D3A );
AXEmojiManager . getEmojiViewTheme () . setVariantDividerEnabled ( false );
AXEmojiManager . getEmojiViewTheme () . setDividerColor ( 0xFF1B242D );
AXEmojiManager . getEmojiViewTheme () . setDefaultColor ( 0xFF677382 );
AXEmojiManager . getEmojiViewTheme () . setTitleColor ( 0xFF677382 );
AXEmojiManager . getStickerViewTheme () . setSelectionColor ( 0xff82ADD9 );
AXEmojiManager . getStickerViewTheme () . setSelectedColor ( 0xff82ADD9 );
AXEmojiManager . getStickerViewTheme () . setBackgroundColor ( 0xFF1E2632 );
AXEmojiManager . getStickerViewTheme () . setCategoryColor ( 0xFF1E2632 );
AXEmojiManager . getStickerViewTheme () . setDividerColor ( 0xFF1B242D );
AXEmojiManager . getStickerViewTheme () . setDefaultColor ( 0xFF677382 );
Resultado:
196516EmojiManager. getEmojiViewTheme () . setFooterEnabled ( true );
AXEmojiManager . getEmojiViewTheme () . setSelectionColor ( Color . TRANSPARENTE );
AXEmojiManager . getEmojiViewTheme () . setSelectedColor ( 0xff82ADD9 );
AXEmojiManager . getEmojiViewTheme () . setFooterSelectedItemColor ( 0xff82ADD9 );
AXEmojiManager . getEmojiViewTheme () . setBackgroundColor ( 0xFF1E2632 );
AXEmojiManager . getEmojiViewTheme () . setCategoryColor ( 0xFF232D3A );
AXEmojiManager . getEmojiViewTheme () . setFooterBackgroundColor ( 0xFF232D3A );
AXEmojiManager . getEmojiViewTheme () . setVariantPopupBackgroundColor ( 0xFF232D3A );
AXEmojiManager . getEmojiViewTheme () . setVariantDividerEnabled ( false );
AXEmojiManager . getEmojiViewTheme () . setDividerColor ( 0xFF1B242D );
AXEmojiManager . getEmojiViewTheme () . setDefaultColor ( 0xFF677382 );
AXEmojiManager . getEmojiViewTheme () . setTitleColor ( 0xFF677382 );
AXEmojiManager . getEmojiViewTheme () . setAlwaysShowDivider ( true );
AXEmojiManager . getStickerViewTheme () . setSelectionColor ( 0xff82ADD9 );
AXEmojiManager . getStickerViewTheme () . setSelectedColor ( 0xff82ADD9 );
AXEmojiManager . getStickerViewTheme () . setBackgroundColor ( 0xFF1E2632 );
AXEmojiManager . getStickerViewTheme () . setCategoryColor ( 0xFF232D3A );
AXEmojiManager . getStickerViewTheme () . setDividerColor ( 0xFF1B242D );
AXEmojiManager . getStickerViewTheme () . setDefaultColor ( 0xFF677382 );
AXEmojiManager . getStickerViewTheme () . setAlwaysShowDivider ( true );
Resultado:
Ver [19659227] AXEmojiPopupLayout [19659043] AXEmojiBase / AXEmojiLayout [19659043] AXEmojiView [19659043] AXSingle 19Eji9045 ] AXEmojiButton [19659043] AXEmojiImageView [19659043] AXEmojiTextView [19659043] AXEmojiCheckBox [19659043] AXEmojiRadioButton
Oyentes
enEmojiActions: [194529903022] [194529903022] ] Emoji
emoji, [194590ecent] booleano, booleano de Variant);
void onLongClick ( Ver vista, Emoji emoji, booleano deRecent, booleano deVariantions]; suStickertions
:
void onClick ( Ver ver, Adhesivo adhesivo, booleano deRecent);
void onLongClick ( View view, Sticker sticker, boolean fromRecent);
onEmojiPagerPageChanged: onPageChanged ( AXEmojiPager emojiPager, AXEmojiBase] base,
PopupListener:
(vacío);
void onShow ();
void onKeyboardOpened ( int altura);
void onKeyboardClosed ();
Reemplaza la cadena con emoji
primero necesitas obtener Unicode de emoji:
String unicode = AXEmojiUtils . getEmojiUnicode ( 0x1f60d ); // o Emoji.getUnicode ();
O
ahora configúrelo en su vista con AXEmojiUtils.replaceWithEmojis.
Ejemplo: Establecer el título de ActionBar:
Cadena título = " AXEmojiView " + unicode;
getSupportActionBar () . setTitle ( AXEmojiUtils . replaceWithEmojis ( este título, 20 ])); [1965
RecentManager y VariantManager
Puede agregar su propio RecentManager personalizado para emojis y pegatinas. implementa RecentEmoji / RecentSticker
AXEmojiManager . setRecentEmoji (emojiRecentManager);
AXEmojiManager . setRecentSticker (stickerRecentManager);
Desactivar RecentManagers:
AXEmojiManager . getInstance () . disableRecentManager; 1965 Variant View ¡también puede crear su propia VariantPopupView! pero no es necesario, incluso el predeterminado es bueno :)
La variante predeterminada:
Emoji Loader
puedes agregar un EmojiLoader personalizado con AXEmojiLoader:
AXEmojiManager . setEmojiLoader ( nuevo EmojiLoader () {
@Override
público void loadEmoji ( AXEmojiImageView imageView Emoji emoji ) {
imageView . setImageDrawable (emoji . getDrawable (imageView . getContext ());
}
});
AnimatedStickers (AXrLottie)
Descargar Apk
- Versión: 1.2.2 [19659043] Última actualización : 31 de agosto de 2020
Descargar Apk
Autor
¡Un agradecimiento especial a Telegram! (¡Utilizando la última actualización de emoji de Telegram!)
TelegramID: @ KingAmir272
Copyright 2020 Amir Hossein Aghajari
Con licencia de Apache License, Versión 2.0 (la "Licencia");
no puede utilizar este archivo excepto de acuerdo con la licencia.
Puede obtener una copia de la licencia en
http://www.apache.org/licenses/LICENSE-2.0
A menos que lo exija la ley aplicable o se acuerde por escrito, el software
distribuido bajo la Licencia se distribuye "TAL CUAL",
SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sea expresa o implícita.
Consulte la licencia para el idioma específico que rige los permisos e
limitaciones de la licencia.
.