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.