Meilleure réponse
Personnellement, mon clavier préféré dans le système Android est le clavier emoji gratuit.
Fonctionnalités du clavier Emoji
Réponse intelligente
Prédiction du mot suivant, prédiction des emojis et prédiction des visages de texte , y compris les émoticônes de texte joyeux, le visage bâillant et le visage clin dœil.
Thèmes gratuits personnalisés
Une vaste collection de thèmes de clavier gratuits. Il y en aura toujours un pour vous dans notre centre de thèmes.
Créez vos propres thèmes
Essayez de personnaliser vos propres thèmes, par exemple changer les arrière-plans et les fonds décran avec vos propres photos, changer les polices, la musique (son), les effets dynamiques et la couleur des claviers.
Saisie multilingue
Le clavier Emoji pour Android prend en charge plus de 150 langues
Réponse
1. Intégration simple
Voici la syntaxe dune intégration simple pour Emojis Keyboard. Le constructeur EmojiIconActions accepte quatre paramètres, Contexte , RootView , EmojiconEditText et ImageView . Passer la mise en page parent en tant que RootView est généralement la meilleure option pour afficher le clavier Emojis au-dessus de toutes les vues. EmojiconEditText est un EditText avec plus dattributs personnalisés pour activer le rendu des émoticônes. Et le dernier paramètre utilisé par ImageView pour basculer entre le clavier normal et le clavier émojis.
Pour afficher les émojis dans TextView, nous utiliserons EmojiconTextView qui est également un TextView avec plus dattributs personnalisés pour activer le rendu des emojis
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText,
emojiImageView);
emojIcon.ShowEmojIcon();
Si vous souhaitez lutiliser dans une mise en page xml, nous utiliserons EmojiconEditText au lieu du EditText .
android:id="@+id/emojicon\_edit\_text"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"
/>
Et EmojiconTextView au lieu de TextView
android:id="@+id/emojicon\_text\_view"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"/>
2. Changer licône bascule par défaut
Pour basculer entre le clavier normal et le clavier émojis, vous pouvez appeler la méthode setIconsIds () qui deux paramètres, ID de licône du clavier et ID de licône du smiley .
emojIcon.setIconsIds(R.drawable.ic\_action\_keyboard,R.drawable.smiley);
3. Utilisation des émojis par défaut de lappareil
SuperNove-Emoji vous permet dutiliser les émojis de lappareil de manière simple, vous devez définir la valeur booléenne de setUseSystemEmoji ( ) et setUseSystemDefault () méthodes à TRUE dans chaque EmojiconTextView et EmojiconEditText que vous utilisez pour afficher les émojis.
emojIcon.setUseSystemEmoji(true);
textView.setUseSystemDefault(true);
emojiconEditText.setUseSystemDefault(true);
Attribut XML:
emojicon:emojiconUseSystemDefault="true"
4. Changer la taille des emojis
Pour changer la taille des emojis, vous devez changer la taille du texte en définissant la valeur de setEmojiconSize () méthode.
textView.setEmojiconSize(30);
Code XML
emojicon:emojiconSize="28sp"
5. Détecter lorsque le clavier est ouvert ou fermé
SuperNova-Emoji vous permet de détecter lorsque lutilisateur ouvre le clavier ou le ferme pour effectuer certaines actions si nécessaire, comme afficher des vues lorsque le clavier souvre et le cacher lorsque le clavier est fermé. Utilisez le bloc de code ci-dessous pour y parvenir.
emojIcon.setKeyboardListener(new
EmojIconActions.KeyboardListener() {
@Override
public
void
onKeyboardOpen() {
Log.i("Keyboard","open");
}
@Override
public
void
onKeyboardClose() {
Log.i("Keyboard","close");
}
});
6.Changer les couleurs du clavier Emoji pour correspondre au thème de votre application
Vous pouvez définir trois couleurs pour le clavier emojis en ajoutant trois paramètres au constructeur dont ils sont pressés la couleur des icônes des onglets, la couleur des onglets et larrière-plan Couleur. Nous utiliserons le même constructeur ci-dessus avec la valeur des couleurs.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText, emojiImageView,
"#F44336","#e8e8e8","#f4f4f4");
emojIcon.ShowEmojIcon();
7. Création dun exemple dapplication
Nous allons maintenant créer une application simple intégrant les emojis pour en avoir une bonne compréhension dans une vraie application.
1 . Dans Android Studio, accédez à Fichier ⇒ Nouveau projet et remplissez tous les détails nécessaires pour créer un nouveau projet.
2 . Ouvrez build.gradle et ajoutez la bibliothèque demojis supernova. Vous devez également ajouter son référentiel maven.
repositories {
maven { url "
https://dl.bintray.com/hani-momanii/maven "}
}
dependencies {
.
.
.
// Supernova Emoji
compile "hani.momanii.supernova\_emoji\_library:supernova-emoji-library:0.0.2"
}
3 . Ouvrez le fichier de mise en page de votre activité principale activity\_main.xml et ajoutez le code ci-dessous. Ici vous pouvez voir que jai ajouté le emojiconEditText , emojiconTextView et le ImageView .
activity\_main.xml
version="1.0"
encoding="utf-8"?>
xmlns:android="
http://schemas.android.com/apk/res/android "
xmlns:emojicon="
http://schemas.android.com/apk/res-auto "
xmlns:tools="
http://schemas.android.com/tools "
android:id="@+id/root\_view"
android:layout\_width="match\_parent"
android:layout\_height="match\_parent"
android:paddingBottom="@dimen/activity\_vertical\_margin"
android:paddingLeft="@dimen/activity\_horizontal\_margin"
android:paddingRight="@dimen/activity\_horizontal\_margin"
android:paddingTop="@dimen/activity\_vertical\_margin"
tools:context="info.androidhive.emojis.MainActivity">
android:id="@+id/emoji\_btn"
android:layout\_width="40dp"
android:layout\_height="40dp"
android:layout\_alignParentBottom="true"
android:layout\_alignParentLeft="true"
android:padding="4dp"
android:src="@drawable/ic\_insert\_emoticon\_black\_24dp"
/>
android:id="@+id/submit\_btn"
android:layout\_width="40dp"
android:layout\_height="40dp"
android:layout\_alignParentBottom="true"
android:layout\_alignParentRight="true"
android:padding="4dp"
android:src="@android:drawable/ic\_menu\_send"
/>
android:id="@+id/emojicon\_edit\_text"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
android:layout\_alignParentBottom="true"
android:layout\_toLeftOf="@id/submit\_btn"
android:layout\_toRightOf="@id/emoji\_btn"
emojicon:emojiconSize="28sp"
/>
android:id="@+id/use\_system\_default"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
android:layout\_below="@+id/textView"
android:layout\_centerHorizontal="true"
android:checked="false"
android:text="Use System Default?"
/>
android:id="@+id/textView"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
android:layout\_centerHorizontal="true"
android:layout\_centerVertical="true"
android:layout\_marginTop="26dp"
android:text="Hello Emojis!"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
android:textColor="#000000"
emojicon:emojiconSize="45sp"
emojicon:emojiconUseSystemDefault="true"
/>
4 . Ouvrez maintenant MainActivity.java et effectuez les modifications comme indiqué ci-dessous. Cette activité montre les différents scénarios de mise en œuvre de SuperNova-Emoji comme expliqué ci-dessus.
MainActivity.java
package
info.androidhive.emojis;
import
android.os.Bundle;
import
android.support.v7.app.AppCompatActivity;
import
android.util.Log;
import
android.view.View;
import
android.widget.CheckBox;
import
android.widget.CompoundButton;
import
android.widget.ImageView;
import
hani.momanii.supernova\_emoji\_library.Actions.EmojIconActions;
import
hani.momanii.supernova\_emoji\_library.Helper.EmojiconEditText;
import
hani.momanii.supernova\_emoji\_library.Helper.EmojiconTextView;
public
class
MainActivity extends
AppCompatActivity {
private
static
final
String TAG = MainActivity.class.getSimpleName();
CheckBox mCheckBox;
EmojiconEditText emojiconEditText;
EmojiconTextView textView;
ImageView emojiImageView;
ImageView submitButton;
View rootView;
EmojIconActions emojIcon;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\_main);
rootView = findViewById(R.id.root\_view);
emojiImageView = (ImageView) findViewById(R.id.emoji\_btn);
submitButton = (ImageView) findViewById(R.id.submit\_btn);
mCheckBox = (CheckBox) findViewById(R.id.use\_system\_default);
emojiconEditText = (EmojiconEditText) findViewById(R.id.emojicon\_edit\_text);
textView = (EmojiconTextView) findViewById(R.id.textView);
emojIcon = new
EmojIconActions(this, rootView, emojiconEditText, emojiImageView);
emojIcon.ShowEmojIcon();
emojIcon.setIconsIds(R.drawable.ic\_action\_keyboard, R.drawable.smiley);
emojIcon.setKeyboardListener(new
EmojIconActions.KeyboardListener() {
@Override
public
void
onKeyboardOpen() {
Log.e(TAG, "Keyboard opened!");
}
public
void
onKeyboardClose() {
Log.e(TAG, "Keyboard closed");
}
});
mCheckBox.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public
void
onCheckedChanged(CompoundButton compoundButton, boolean
b) {
emojIcon.setUseSystemEmoji(b);
textView.setUseSystemDefault(b);
}
});
submitButton.setOnClickListener(new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
String newText = emojiconEditText.getText().toString();
textView.setText(newText);
}
});
}
}
Exécutez et testez lapplication.