織夢企業(yè)網(wǎng)站源碼長沙網(wǎng)站制作主要公司
目錄
一,簡介
二、安裝
添加jitpack 倉庫
添加依賴:
混淆規(guī)則:
三、使用
1、一次性配置emoji顯示處理
二、emoji的自定義鍵盤的使用
一,簡介
EmojiPack當(dāng)前已提供emoji的顯示和emoji的選擇自定義鍵盤,在emoji顯示這一方面,大量的其他框架使用了自定義view來實(shí)現(xiàn)emoji的顯示,EmojiPack也是如此實(shí)現(xiàn),但是在實(shí)際開發(fā)時(shí),開發(fā)人員,將不在需要大量使用EmojiPack內(nèi)的自定義view,只需要在activity內(nèi)完成一次性配置即可,所以EmojiPack的兼容性非常強(qiáng),在使用EmojiPack時(shí)不再需要開發(fā)人員大量替換原本的顯示控件,提高開發(fā)效率和減少bug的產(chǎn)生。
EmojiPack的鍵盤風(fēng)格采用了當(dāng)前APP市場常用emoji鍵盤風(fēng)格,但有所區(qū)別,把最近使用的emoji單獨(dú)成一項(xiàng),在開發(fā)使用時(shí)做了一定的約束,雖然使用時(shí)會有部分限制,但是卻可以減少開發(fā)人員關(guān)注的事情和部分邏輯處理。
二、安裝
添加jitpack 倉庫
Android Gradle Plugin 為 v7.1.0 以下版本:進(jìn)入項(xiàng)目根目錄,打開 “build.gradle” 文件,在 “allprojects” 中加入如下代碼:
...
allprojects {
? ? repositories {
? ? ? ? maven { url 'https://jitpack.io' }
? ? ? ? mavenCentral()
? ? ? ? google()
? ? }
}
當(dāng)您的 Android Gradle Plugin 為 v7.1.0 或以上版本:進(jìn)入項(xiàng)目根目錄,打開 “settings.gradle” 文件,在 “dependencyResolutionManagement” 中加入如下代碼:
...
dependencyResolutionManagement { ????????repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
? ? ? ? repositories {? ?
? ? ? ? ? ? ? ? ? maven { url 'https://jitpack.io' }
? ? ? ? ? ? ? ? ? mavenCentral()
? ? ? ? ? ? ? ? ? google()
? ? ? ? ?}
}
添加依賴:
進(jìn)入 “app” 目錄,打開 “build.gradle” 文件,在 “dependencies” 中添加 :
...
dependencies {
...
implementation "com.gitee.ym521:emojipack:2.1.0"
}
混淆規(guī)則:
在 “proguard-rules.pro” 文件中,為 EmojiPack 添加混淆的配置:
-keep class com.ym521.emojipack.**{*;}
三、使用
1、一次性配置emoji顯示處理
EmojiPackHelper.activity(this).install()
調(diào)用注意,一定要在activity的onCreate()的 super.onCreate() 回調(diào)之前調(diào)用:
kotlin示例
class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {EmojiPackHelper.activity(this).install()super.onCreate(savedInstanceState)}
}
Java 示例
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {EmojiPackHelper.activity(this).install();super.onCreate(savedInstanceState);}
}
注意:EmojiPackHelper.activity(activity).install()的參數(shù)activity必須是AppCompatActivity或者繼承其的子類。
二、emoji的自定義鍵盤的使用
val emoji:EmojiPackKeyBoard.Builder= EmojiPackKeyBoard.build(this)
? ? .setInputView(viewBind.etIput) //EditText 輸入框
? ? .bindView(viewBind.flEmoji) //FrameLayout 展示鍵盤容器Viewemoji.show() //顯示emoji鍵盤
emoji.hide()
調(diào)用注意:EmojiPack暫未實(shí)現(xiàn)根據(jù)Android自帶鍵盤的狀態(tài)來改變自己的鍵盤狀態(tài),所有判斷Android自帶鍵盤顯示后關(guān)閉emojipack鍵盤需要開發(fā)人員自行處理;
EmojiPack會在Android自帶鍵盤顯示狀態(tài)下去先關(guān)閉它,然后顯示自己,這個(gè)不需要開發(fā)人員處理。
kotlin示例
class MainActivity : AppCompatActivity() {private lateinit var viewBind:ActivityMainBindingoverride fun onCreate(savedInstanceState: Bundle?) {EmojiPackHelper.activity(this).install()super.onCreate(savedInstanceState)viewBind = ActivityMainBinding.inflate(layoutInflater)setContentView(viewBind.root)val emoji = EmojiPackKeyBoard.build(this).setInputView(viewBind.etIput).bindView(viewBind.flEmoji)viewBind.tvEmoji.setOnClickListener {it.isSelected = !it.isSelectedif (it.isSelected) {emoji.show()} else {emoji.hide()}}}
}
Java 示例
ublic class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {EmojiPackHelper.activity(this).install();super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);EditText etInput = findViewById(R.id.etIput);FrameLayout flEmoji = findViewById(R.id.flEmoji);TextView tvEmoji = findViewById(R.id.tvEmoji);EmojiPackKeyBoard.Builder emoji= EmojiPackKeyBoard.build(this).setInputView(etInput).bindView(flEmoji);tvEmoji.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {v.setSelected(!v.isSelected());if (v.isSelected()) {emoji.show();} else {emoji.hide();} }}); }
}
如果對您有一些意義,希望您給博主一些鼓勵(點(diǎn)贊、關(guān)注、收藏),如果這個(gè)EmojiPack有BUG歡迎大家提出。