Nejlepší odpověď
Osobně je mojí oblíbenou klávesnicí v systému Android bezplatná klávesnice emodži.
Funkce klávesnice emodži
Inteligentní odpověď
Predikce dalšího slova, předpověď emodži a předpověď textových tváří , včetně veselých textových emotikon, zívnutí a mrknutí.
Personalizovaná bezplatná témata
Obrovská sbírka bezplatných témat klávesnice. V našem tématickém centru pro vás vždy bude jedna.
Vytvořte si vlastní motivy
Zkuste si přizpůsobit vlastní motivy, např. změna pozadí a tapet s vlastními fotografiemi, změna písma, hudby (zvuku), dynamických efektů a barev klávesnic.
Vícejazyčné psaní
Klávesnice Emoji pro Android podporuje více než 150 jazyků
Odpověď
1. Jednoduchá integrace
Níže je uvedena syntaxe jednoduché integrace pro klávesnici Emojis. Konstruktor EmojiIconActions přijímá čtyři parametry, kontext , RootView , EmojiconEditText a ImageView . Nejlepší možností pro zobrazení klávesnice Emojis nad všemi zobrazeními je obvykle předání nadřazeného rozložení jako RootView. EmojiconEditText je EditText s více vlastními atributy umožňujícími vykreslování emodži. A poslední parametr, který ImageView použije k přepínání mezi normální klávesnicí a klávesnicí emojis.
K zobrazení emojis v TextView použijeme EmojiconTextView což je také TextView s více vlastními atributy umožňujícími vykreslování emodži
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText,
emojiImageView);
emojIcon.ShowEmojIcon();
Pokud jej chcete použít v rozložení XML, použijeme místo běžného EmojiconEditText . div> EditText .
android:id="@+id/emojicon\_edit\_text"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"
/>
A EmojiconTextView namísto TextView
android:id="@+id/emojicon\_text\_view"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"/>
2. Změnit výchozí ikonu Přepnout
Chcete-li přepínat mezi normální klávesnicí a klávesnicí emodži, můžete zavolat metodou setIconsIds () , která trvá dva parametry, ID ikony klávesnice a ID smajlíka .
emojIcon.setIconsIds(R.drawable.ic\_action\_keyboard,R.drawable.smiley);
3. Používání výchozích emodži zařízení
SuperNove-Emoji vám umožní používat emodži zařízení jednoduše, musíte nastavit booleovskou hodnotu setUseSystemEmoji ( ) a setUseSystemDefault () metody na PRAVDA v každém EmojiconTextView a EmojiconEditText , které používáte k zobrazování emodži.
emojIcon.setUseSystemEmoji(true);
textView.setUseSystemDefault(true);
emojiconEditText.setUseSystemDefault(true);
Atribut Xml:
emojicon:emojiconUseSystemDefault="true"
4. Změna velikosti emodži
Chcete-li změnit velikost emodži, musíte změnit velikost textu nastavením hodnoty setEmojiconSize () method.
textView.setEmojiconSize(30);
XML kód
emojicon:emojiconSize="28sp"
5. Zjistit, kdy je klávesnice otevřena nebo zavřena
SuperNova-Emoji vám umožní zjistit, kdy uživatel klávesnici otevře nebo zavře, aby v případě potřeby provedl nějaké akce, jako je zobrazení některých zobrazení při otevření a skrytí klávesnice když se klávesnice zavřela. K dosažení toho použijte níže uvedený blok kódu.
emojIcon.setKeyboardListener(new
EmojIconActions.KeyboardListener() {
@Override
public
void
onKeyboardOpen() {
Log.i("Keyboard","open");
}
@Override
public
void
onKeyboardClose() {
Log.i("Keyboard","close");
}
});
6.Změna barev klávesnice Emoji tak, aby ladila s motivem vaší aplikace
Na klávesnici emojis můžete nastavit tři barvy přidáním tří parametrů do konstruktoru, kterými jsou lisované barvy karet, barvy karet a pozadí barva. Stejný výše uvedený konstruktor použijeme s hodnotou barev.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText, emojiImageView,
"#F44336","#e8e8e8","#f4f4f4");
emojIcon.ShowEmojIcon();
7. Vytváření ukázkové aplikace
Nyní vytvoříme jednoduchou aplikaci integrující emodži, abychom ji dobře pochopili ve skutečné aplikaci.
1 . V Android Studio přejděte do Soubor ⇒ Nový projekt a vyplňte všechny podrobnosti potřebné k vytvoření nového projektu.
2 . Otevřete build.gradle a přidejte knihovnu emodži supernovy. Musíte také přidat jeho úložiště 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 . Otevřete soubor rozložení vaší hlavní aktivity activity\_main.xml a přidejte níže uvedený kód. Zde vidíte, že jsem přidal emojiconEditText , emojiconTextView a 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 . Nyní otevřete MainActivity.java a proveďte změny, jak je uvedeno níže. Tato aktivita ukazuje různé scénáře implementace SuperNova-Emoji, jak je vysvětleno výše.
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);
}
});
}
}
Spustit a otestovat aplikaci.