Cel mai bun răspuns
Personal, tastatura mea preferată din sistemul Android este tastatura emoji gratuită.
Caracteristici tastatură Emoji
Răspuns inteligent
Predicția cuvântului următor, predicția emoji și predicția fețelor textului , inclusiv emoticoane cu text fericit, față de căscat și față de ochi.
Teme gratuite personalizate
O vastă colecție de teme gratuite pentru tastatură. În centrul nostru de teme va exista întotdeauna unul pentru dvs.
Creați-vă propriile teme
Încercați și personalizați-vă propriile teme, de ex. schimbarea fundalurilor și a imaginilor de fundal cu propriile fotografii, schimbarea fonturilor, a muzicii (sunetului), a efectelor dinamice și a culorii tastaturilor.
Tastare multilingvă
Tastatura Emoji pentru Android acceptă peste 150 de limbi
Răspuns
1. Integrare simplă
Mai jos este sintaxa unei integrări simple pentru tastatura Emojis. Constructorul EmojiIconActions acceptă patru parametri, Context , RootView , EmojiconEditText și ImageView . De obicei, trecerea aspectului părinte ca RootView este cea mai bună opțiune pentru a afișa tastatura Emojis deasupra tuturor vizualizărilor. EmojiconEditText este un EditText cu mai multe atribute personalizate pentru a activa redarea emojis. Și ultimul parametru folosit de ImageView pentru a comuta între tastatura normală și tastatura emojis.
Pentru a afișa emojis în TextView vom folosi EmojiconTextView care este, de asemenea, un TextView cu mai multe atribute personalizate pentru a permite redarea emojis
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText,
emojiImageView);
emojIcon.ShowEmojIcon();
Dacă doriți să-l utilizați în aspectul XML, vom folosi EmojiconEditText în loc de EditText .
android:id="@+id/emojicon\_edit\_text"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"
/>
Și EmojiconTextView în loc de TextView
android:id="@+id/emojicon\_text\_view"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"/>
2. Schimbați pictograma Toggle implicită
Pentru a comuta între tastatura normală și tastatura emojis, puteți apela metoda setIconsIds () doi parametri, ID pictogramă tastatură și ID pictogramă smiley .
emojIcon.setIconsIds(R.drawable.ic\_action\_keyboard,R.drawable.smiley);
3. Folosind emoji-urile implicite ale dispozitivului
SuperNove-Emoji vă permite să utilizați emoji-urile dispozitivului într-un mod simplu, trebuie să setați valoarea booleană a ) și setUseSystemDefault () metode la TRUE în fiecare EmojiconTextView și EmojiconEditText pe care îl utilizați pentru a afișa emojis.
emojIcon.setUseSystemEmoji(true);
textView.setUseSystemDefault(true);
emojiconEditText.setUseSystemDefault(true);
atribut Xml:
emojicon:emojiconUseSystemDefault="true"
4. Modificarea dimensiunii Emojis
Pentru a modifica dimensiunea Emojis, trebuie să modificați dimensiunea textului setând valoarea setEmojiconSize () method.
textView.setEmojiconSize(30);
Cod XML
emojicon:emojiconSize="28sp"
5. Detectați când tastatura a fost deschisă sau închisă
SuperNova-Emoji vă permite să detectați când utilizatorul deschide tastatura sau închideți-o pentru a efectua unele acțiuni, dacă este necesar, cum ar fi afișarea unor vizualizări când tastatura se deschide și ascunde când s-a închis tastatura. Utilizați blocul de cod de mai jos pentru a realiza acest lucru.
emojIcon.setKeyboardListener(new
EmojIconActions.KeyboardListener() {
@Override
public
void
onKeyboardOpen() {
Log.i("Keyboard","open");
}
@Override
public
void
onKeyboardClose() {
Log.i("Keyboard","close");
}
});
6.Schimbarea culorilor tastaturii Emoji pentru a se potrivi cu tema aplicației dvs.
Puteți seta trei culori la tastatura emojis adăugând trei parametri constructorului în care sunt apăsate filele, culoarea pictogramelor, culoarea filelor și fundalul culoare. Vom folosi același constructor de mai sus cu valoarea culorilor.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText, emojiImageView,
"#F44336","#e8e8e8","#f4f4f4");
emojIcon.ShowEmojIcon();
7. Crearea eșantionului de aplicație
Acum vom crea o aplicație simplă care integrează emoji-urile pentru a înțelege bine o aplicație reală.
1 . În Android Studio, accesați Fișier ⇒ Proiect nou și completați toate detaliile necesare pentru a crea un proiect nou.
2 . Deschideți build.gradle și adăugați o bibliotecă de emoji supernova. Trebuie să adăugați și depozitul său 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 . Deschideți fișierul de aspect activitate principală activity\_main.xml și adăugați codul de mai jos. Aici puteți vedea că am adăugat emojiconEditText , emojiconTextView și 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 . Acum deschideți MainActivity.java și efectuați modificările menționate mai jos. Această activitate arată diferitele scenarii de implementare a SuperNova-Emoji așa cum s-a explicat mai sus.
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);
}
});
}
}
Rulați și testați aplicația.