정답
개인적으로 Android 시스템에서 가장 좋아하는 키보드는 무료 이모티콘 키보드입니다.
이모티콘 키보드 기능
스마트 답장
다음 단어 예측, 이모티콘 예측 및 문자 얼굴 예측 , 행복한 텍스트 이모티콘, 하품하는 얼굴 및 윙크하는 얼굴을 포함합니다.
맞춤형 무료 테마
방대한 무료 키보드 테마 모음입니다. 테마 센터에는 항상 하나가 있습니다.
나만의 테마 만들기
예를 들어 나만의 테마를 사용해보고 맞춤 설정하세요. 나만의 사진으로 배경과 배경 화면 변경, 글꼴, 음악 (사운드), 동적 효과 및 키패드 색상 변경.
다국어 입력
Android 용 이모티콘 키보드는 150 개 이상의 언어를 지원합니다
답변
1. 간단한 통합
아래는 Emojis 키보드를위한 간단한 통합 구문입니다. EmojiIconActions 생성자는 네 개의 매개 변수, Context , RootView , EmojiconEditText 및 ImageView . 일반적으로 부모 레이아웃을 RootView로 전달하는 것이 모든보기 위에 이모 지 키보드를 표시하는 가장 좋은 옵션입니다. EmojiconEditText 는 이모티콘 렌더링을 활성화하는 더 많은 사용자 정의 속성이있는 EditText 입니다. 마지막 매개 변수는 ImageView가 일반 키보드와 이모티콘 키보드 사이를 전환하는 데 사용할 것입니다.
TextView에서 이모티콘을 표시하려면 EmojiconTextView span를 사용합니다. >는 또한 이모티콘 렌더링을 활성화하는 더 많은 사용자 정의 속성이있는 TextView 입니다.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText,
emojiImageView);
emojIcon.ShowEmojIcon();
xml 레이아웃에서 사용하려면 일반 대신 EmojiconEditText 를 사용합니다. div> EditText .
android:id="@+id/emojicon\_edit\_text"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"
/>
그리고 EmojiconTextView TextView
android:id="@+id/emojicon\_text\_view"
android:layout\_width="wrap\_content"
android:layout\_height="wrap\_content"
emojicon:emojiconSize="28sp"/>
2. 기본 토글 아이콘 변경
일반 키보드와 이모티콘 키보드 사이를 전환하려면 setIconsIds () 메서드를 호출 할 수 있습니다. 두 개의 매개 변수, 키보드 아이콘 ID 및 스마일 아이콘 ID .
emojIcon.setIconsIds(R.drawable.ic\_action\_keyboard,R.drawable.smiley);
삼. 기기 기본 이모티콘 사용
SuperNove-Emoji를 사용하면 기기 이모티콘을 간단하게 사용할 수 있습니다. 부울 값 setUseSystemEmoji ( ) 및 setUseSystemDefault () 메서드를 모든 iv id =에서 TRUE 로 설정 이모티콘을 표시하는 데 사용하는 “446c1b736c”> EmojiconTextView 및 EmojiconEditText 입니다.
emojIcon.setUseSystemEmoji(true);
textView.setUseSystemDefault(true);
emojiconEditText.setUseSystemDefault(true);
Xml 속성 :
emojicon:emojiconUseSystemDefault="true"
4. 그림 이모티콘 크기 변경
그림 이모티콘 크기를 변경하려면 setEmojiconSize () 의 값을 설정하여 텍스트 크기를 변경해야합니다. span> 메서드.
textView.setEmojiconSize(30);
XML 코드
emojicon:emojiconSize="28sp"
5. 키보드가 열리거나 닫힐 때 감지
SuperNova-Emoji를 사용하면 사용자가 키보드를 열거 나 닫을 때를 감지하여 필요한 경우 키보드가 열릴 때 일부보기를 표시하고 숨기는 등의 조치를 취할 수 있습니다. 키보드가 닫힐 때. 이를 위해 아래 코드 블록을 사용하세요.
emojIcon.setKeyboardListener(new
EmojIconActions.KeyboardListener() {
@Override
public
void
onKeyboardOpen() {
Log.i("Keyboard","open");
}
@Override
public
void
onKeyboardClose() {
Log.i("Keyboard","close");
}
});
6.앱 테마에 맞게 이모티콘 키보드 색상 변경
탭 아이콘 색상, 탭 색상 및 배경을 누르는 구성자에 세 개의 매개 변수를 추가하여 이모티콘 키보드에 세 가지 색상을 설정할 수 있습니다. 색깔. 위의 동일한 생성자를 색상 값과 함께 사용합니다.
EmojIconActions emojIcon= new
EmojIconActions(this, rootView, emojiconEditText, emojiImageView,
"#F44336","#e8e8e8","#f4f4f4");
emojIcon.ShowEmojIcon();
7. 샘플 앱 만들기
이제 실제 앱에서 잘 이해할 수 있도록 이모티콘을 통합하는 간단한 앱을 만듭니다.
1 . Android 스튜디오에서 File ⇒ New Project 로 이동하여 새 프로젝트를 만드는 데 필요한 모든 세부 정보를 입력합니다.
2 . build.gradle 을 열고 초신성 이모티콘 라이브러리를 추가합니다. 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 . 기본 활동 activity\_main.xml 레이아웃 파일을 열고 아래 코드를 추가하십시오. 여기에서 emojiconEditText , emojiconTextView 및 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 . 이제 MainActivity.java 를 열고 아래와 같이 변경합니다. 이 활동은 위에서 설명한 SuperNova-Emoji를 구현하는 다양한 시나리오를 보여줍니다.
MainActivity.자바
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);
}
});
}
}
앱을 실행하고 테스트합니다.