Bästa svaret
Personligen är mitt favorittangentbord i Android-systemet det gratis emoji-tangentbordet.
Emoji-tangentbordfunktioner
Smart svar
Förutsägelse av nästa ord, förutsägelse av emoji och förutsägelse av text , inklusive smiley-uttryckssymboler, gäspande ansikte och blinkande ansikte.
Personliga gratis teman
En enorm samling av gratis tangentbordsteman. Det finns alltid en för dig i vårt temacenter.
Skapa dina egna teman
Prova och anpassa dina egna teman, t.ex. ändra bakgrunder och bakgrundsbilder med dina egna foton, ändra typsnitt, musik (ljud), dynamiska effekter och färg på knappsatserna.
Flerspråkig typning
Emoji-tangentbord för Android stöder över 150 språk
Svar
1. Enkel integration
Nedan är syntaxen för en enkel integration för Emojis Keyboard. EmojiIconAtions -konstruktören accepterar fyra parametrar, Context , RootView , EmojiconEditText och ImageView . Vanligtvis passerar överordnadslayouten som RootView det bästa alternativet för att visa Emojis-tangentbordet framför alla vyer. EmojiconEditText är en EditText med fler anpassade attribut för att möjliggöra emojis-rendering. Och den sista parametern som ImageView använder för att växla mellan det vanliga tangentbordet och emojitangentbordet.
För att visa emojis i TextView använder vi EmojiconTextView som också är en TextView med fler anpassade attribut för att möjliggöra emojis-rendering
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText,
emojiImageView);
emojIcon.ShowEmojIcon();
Om du vill använda den i xml-layout använder vi EmojiconEditText istället för den normala EditText .
android:id="@+id/emojicon\_edit\_text"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"
/>
Och EmojiconTextView istället för TextView
android:id="@+id/emojicon\_text\_view"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"/>
2. Ändra standardväxlingsikonen
För att växla mellan vanligt tangentbord och emojis-tangentbord kan du ringa setIconsIds () -metoden som tar två parametrar, Ikon-ID för tangentbord och smiley-ikon-ID .
emojIcon.setIconsIds(R.drawable.ic\_action\_keyboard,R.drawable.smiley);
3. Med enhetens standardemojis
SuperNove-Emoji låter dig använda enhetsemojis på ett enkelt sätt, du måste ställa in det booleska värdet på setUseSystemEmoji ( ) och setUseSystemDefault () metoder för att SANT i varje EmojiconTextView och EmojiconEditText du använder för att visa emojis.
emojIcon.setUseSystemEmoji(true);
textView.setUseSystemDefault(true);
emojiconEditText.setUseSystemDefault(true);
Xml-attribut:
emojicon:emojiconUseSystemDefault="true"
4. Ändra emojisstorlek
För att ändra emojisstorlek måste du ändra textstorleken genom att ställa in värdet setEmojiconSize () method.
textView.setEmojiconSize(30);
XML-kod
emojicon:emojiconSize="28sp"
5. Upptäck när tangentbordet öppnas eller stängs
SuperNova-Emoji låter dig upptäcka när användaren öppnar tangentbordet eller stänger det för att vidta några åtgärder om det behövs, som att visa några vyer när tangentbordet öppnas och döljer det när tangentbordet stängdes. Använd kodblocket nedan för att uppnå detta.
emojIcon.setKeyboardListener(new
EmojIconActions.KeyboardListener() {
@Override
public
void
onKeyboardOpen() {
Log.i("Keyboard","open");
}
@Override
public
void
onKeyboardClose() {
Log.i("Keyboard","close");
}
});
6.Ändra Emoji-tangentbordets färger så att de matchar ditt apptema
Du kan ställa in tre färger på emojis tangentbord genom att lägga till tre parametrar i konstruktören som de trycks på flikar ikoner färg, flikar färg och bakgrund Färg. Vi kommer att använda samma konstruktör ovan med färgens värde.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText, emojiImageView,
"#F44336","#e8e8e8","#f4f4f4");
emojIcon.ShowEmojIcon();
7. Skapa provapp
Nu skapar vi en enkel app som integrerar emojis för att få en bra förståelse för den i en riktig app.
1 . I Android Studio går du till Fil ⇒ Nytt projekt och fyller i alla detaljer som krävs för att skapa ett nytt projekt.
2 . Öppna build.gradle och lägg till supernova emoji-bibliotek. Du måste lägga till dess maven-förvar också.
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 . Öppna layoutfilen din huvudaktivitet activity\_main.xml och lägg till nedanstående kod. Här kan du se att jag har lagt till emojiconEditText , emojiconTextView och 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 . Öppna nu MainActivity.java och gör ändringarna enligt nedan. Denna aktivitet visar de olika scenarierna för att implementera SuperNova-Emoji som förklarats ovan.
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);
}
});
}
}
Kör och testa appen.