Legjobb válasz
Személy szerint az Android rendszerben a kedvenc billentyűzetem az ingyenes emoji billentyűzet.
Hangulatjel-billentyűzet funkciói
Intelligens válasz
Következő szavakra vonatkozó előrejelzés, emoji-előrejelzések és szöveges előrejelzések , beleértve a boldog szöveges hangulatjeleket, az ásító arcot és a kacsintó arcot.
Személyre szabott ingyenes témák
Az ingyenes billentyűzet témák hatalmas gyűjteménye. A témaközpontunkban mindig lesz egy.
Készítse el saját témáit
Próbáljon testre szabni saját témákat, pl. háttérképek és háttérképek módosítása saját fotóival, betűtípusok, zene (hang), dinamikus effektusok és a kezelő színének megváltoztatása.
Többnyelvű gépelés
Az androidos emoji billentyűzet több mint 150 nyelvet támogat
Válasz
1. Egyszerű integráció
Az alábbiakban bemutatjuk az Emojis billentyűzet egyszerű integrációjának szintaxisát. A EmojiIconActions konstruktor négy paramétert fogad el: Context , RootView , EmojiconEditText és ImageView . Általában a szülői elrendezés átadása RootView-ként a legjobb megoldás az Emojis billentyűzet minden nézet felett történő megjelenítésére. A EmojiconEditText egy EditText , amely több egyéni attribútummal rendelkezik a hangulatjelek megjelenítésének engedélyezéséhez. És az utolsó paraméter, amellyel az ImageView váltani fog a normál billentyűzet és az emojis billentyűzet között.
Az emojik megjelenítéséhez a TextView-ban a következőt fogjuk használni: >, amely szintén egy TextView , több egyéni attribútummal az emojis megjelenítés engedélyezéséhez
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText,
emojiImageView);
emojIcon.ShowEmojIcon();
Ha xml elrendezésben szeretné használni, akkor a EmojiconEditText szót fogjuk használni a normál EditText .
android:id="@+id/emojicon\_edit\_text"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"
/>
És EmojiconTextView a TextView
android:id="@+id/emojicon\_text\_view"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"/>
2. Az alapértelmezett váltóikon megváltoztatása
A normál billentyűzet és az emojis billentyűzet közötti váltáshoz hívja a setIconsIds () metódust, amely két paraméter, billentyűzet ikonazonosító és smiley ikonazonosító .
emojIcon.setIconsIds(R.drawable.ic\_action\_keyboard,R.drawable.smiley);
3. Az eszköz alapértelmezett hangulatjelek használata
A SuperNove-Emoji lehetővé teszi az eszköz hangulatjelek egyszerű használatát, meg kell adnia a (z) set logikai értékét setUseSystemEmoji ( ) és setUseSystemDefault () módszerekkel IGAZ minden EmojiconTextView és EmojiconEditText .
emojIcon.setUseSystemEmoji(true);
textView.setUseSystemDefault(true);
emojiconEditText.setUseSystemDefault(true);
Xml attribútum:
emojicon:emojiconUseSystemDefault="true"
4. Hangulatjelek méretének megváltoztatása
A hangulatjelek méretének módosításához meg kell változtatnia a szöveg méretét a setEmojiconSize () értékének beállításával. span> módszer.
textView.setEmojiconSize(30);
XML-kód
emojicon:emojiconSize="28sp"
5. Annak észlelése, amikor a billentyűzet kinyílt vagy bezárt amikor a billentyűzet becsukódott. Ehhez használja az alábbi kódblokkot.
emojIcon.setKeyboardListener(new
EmojIconActions.KeyboardListener() {
@Override
public
void
onKeyboardOpen() {
Log.i("Keyboard","open");
}
@Override
public
void
onKeyboardClose() {
Log.i("Keyboard","close");
}
});
6.Az Emoji billentyűzet színeinek módosítása az alkalmazás témájához igazítva
Három színt állíthat be az emojis billentyűzethez, ha három paramétert ad hozzá a kivitelezőhöz, amelyek ikonok, fülek színe és háttere szín. Ugyanezt a fenti konstruktort fogjuk használni a színek értékével.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText, emojiImageView,
"#F44336","#e8e8e8","#f4f4f4");
emojIcon.ShowEmojIcon();
7. Mintaalkalmazás létrehozása
Most létrehozunk egy egyszerű alkalmazást, amely integrálja a hangulatjeleket, hogy egy valós alkalmazásban jól megértsük azt.
1 . Az Android Studióban lépjen a fájl ⇒ Új projekt fájlba, és töltse ki az új projekt létrehozásához szükséges összes adatot.
2 . Nyissa meg a build.gradle fájlt, és adjon hozzá szupernóva hangulatjel-könyvtárat. Hozzá kell adnia annak maven tárházát is.
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 . Nyissa meg az elrendezési fájlt, amelynek fő tevékenysége activity\_main.xml , és adja hozzá az alábbi kódot. Itt láthatja, hogy hozzáadtam a emojiconEditText , emojiconTextView és 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 . Most nyissa meg a MainActivity.java fájlt, és hajtsa végre a módosításokat az alábbiak szerint. Ez a tevékenység bemutatja a SuperNova-Emoji megvalósításának különböző forgatókönyveit, a fentiek szerint.
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);
}
});
}
}
Futtatás és tesztelés az alkalmazással.