Beste Antwort
Persönlich ist meine Lieblingstastatur im Android-System die kostenlose Emoji-Tastatur.
Funktionen der Emoji-Tastatur
Intelligente Antwort
Vorhersage des nächsten Wortes, Emoji-Vorhersage und Vorhersage von Textflächen , einschließlich Happy-Text-Emoticons, Gähnen und Augenzwinkern.
Personalisierte kostenlose Themen
Eine umfangreiche Sammlung kostenloser Tastaturthemen. In unserem Themencenter ist immer eines für Sie verfügbar.
Erstellen Sie Ihre eigenen Themen
Versuchen Sie, Ihre eigenen Themen anzupassen, z. Ändern von Hintergründen und Hintergrundbildern mit Ihren eigenen Fotos, Ändern von Schriftarten, Musik (Ton), dynamischen Effekten und der Farbe von Tastaturen.
Mehrsprachige Eingabe
Die Emoji-Tastatur für Android unterstützt über 150 Sprachen
Antwort
1. Einfache Integration
Nachfolgend finden Sie die Syntax einer einfachen Integration für Emojis Keyboard. Der Konstruktor EmojiIconActions akzeptiert vier Parameter: Kontext , RootView , EmojiconEditText und ImageView . Normalerweise ist das Übergeben des übergeordneten Layouts als RootView die beste Option, um die Emojis-Tastatur über allen Ansichten anzuzeigen. Das EmojiconEditText ist ein EditText mit mehr benutzerdefinierten Attributen, um das Rendern von Emojis zu ermöglichen. Und der letzte Parameter, mit dem ImageView zwischen der normalen Tastatur und der Emojis-Tastatur wechselt.
Um Emojis in TextView anzuzeigen, verwenden wir EmojiconTextView Dies ist auch eine TextView mit mehr benutzerdefinierten Attributen, um das Rendern von Emojis zu ermöglichen.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText,
emojiImageView);
emojIcon.ShowEmojIcon();
Wenn Sie es im XML-Layout verwenden möchten, verwenden wir EmojiconEditText anstelle des normalen EditText .
android:id="@+id/emojicon\_edit\_text"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"
/>
und EmojiconTextView anstelle von TextView
android:id="@+id/emojicon\_text\_view"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"/>
2. Ändern des Standard-Umschaltsymbols
Zum Umschalten zwischen normaler Tastatur und Emojis-Tastatur können Sie die setIconsIds () -Methode aufrufen zwei Parameter, Tastatursymbol-ID und Smiley-Symbol-ID .
emojIcon.setIconsIds(R.drawable.ic\_action\_keyboard,R.drawable.smiley);
3. Verwenden der Geräte-Standard-Emojis
Mit SuperNove-Emoji können Sie Geräte-Emojis auf einfache Weise verwenden. Sie müssen den booleschen Wert von setUseSystemEmoji ( ) und setUseSystemDefault () Methoden zu TRUE in jeder EmojiconTextView und EmojiconEditText , mit dem Sie die Emojis anzeigen.
emojIcon.setUseSystemEmoji(true);
textView.setUseSystemDefault(true);
emojiconEditText.setUseSystemDefault(true);
XML-Attribut:
emojicon:emojiconUseSystemDefault="true"
4. Ändern der Emojis-Größe
Um die Emojis-Größe zu ändern, müssen Sie die Textgröße ändern, indem Sie den Wert von setEmojiconSize () -Methode.
textView.setEmojiconSize(30);
XML-Code
emojicon:emojiconSize="28sp"
5. Erkennen, wann die Tastatur geöffnet oder geschlossen wurde
Mit SuperNova-Emoji können Sie erkennen, wann der Benutzer die Tastatur öffnet oder schließt, um bei Bedarf einige Aktionen auszuführen, z. B. einige Ansichten beim Öffnen und Ausblenden der Tastatur anzeigen wenn die Tastatur geschlossen wurde. Verwenden Sie dazu den folgenden Codeblock.
emojIcon.setKeyboardListener(new
EmojIconActions.KeyboardListener() {
@Override
public
void
onKeyboardOpen() {
Log.i("Keyboard","open");
}
@Override
public
void
onKeyboardClose() {
Log.i("Keyboard","close");
}
});
6.Ändern der Farben der Emoji-Tastatur entsprechend Ihrem App-Thema
Sie können drei Farben für die Emojis-Tastatur festlegen, indem Sie dem Konstruktor drei Parameter hinzufügen, bei denen es sich um Tabulatorsymbole, Tabulatorenfarbe, Registerkartenfarbe und Hintergrund handelt Farbe. Wir werden den gleichen obigen Konstruktor mit dem Farbwert verwenden.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText, emojiImageView,
"#F44336","#e8e8e8","#f4f4f4");
emojIcon.ShowEmojIcon();
7. Erstellen einer Beispiel-App
Jetzt erstellen wir eine einfache App, die die Emojis integriert, um ein gutes Verständnis für eine echte App zu erhalten.
1 . Gehen Sie in Android Studio zu Datei ⇒ Neues Projekt und geben Sie alle Details ein, die zum Erstellen eines neuen Projekts erforderlich sind.
2 . Öffnen Sie build.gradle und fügen Sie eine Supernova-Emoji-Bibliothek hinzu. Sie müssen auch das Maven-Repository hinzufügen.
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 . Öffnen Sie die Layoutdatei Ihrer Hauptaktivität activity\_main.xml und fügen Sie den folgenden Code hinzu. Hier können Sie sehen, dass ich die emojiconEditText , emojiconTextView und die 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 . Öffnen Sie nun MainActivity.java und nehmen Sie die folgenden Änderungen vor. Diese Aktivität zeigt die verschiedenen Szenarien für die Implementierung von SuperNova-Emoji, wie oben erläutert.
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);
}
});
}
}
Führen Sie die App aus und testen Sie sie.