Terinspirasi oleh XhsEmoticonsKeyboard, kerangka kerja didesain ulang dan fungsi pembaruan emotikon secara dinamis telah ditambahkan. Menggunakan EmoticonPacksAdapter, Anda dapat dengan mudah menambah atau menghapus emotikon.
Kode baru ini dikembangkan menggunakan Kotlin.
allprojects {
repositories {
jcenter()
}
}
Dan:
dependencies {
compile 'im.ll:emoticonsboard:1.0.0'
}
EmoticonsBoard menampilkan emoticon dengan mengatur EmoticonPacksAdapter. EmoticonPacksAdapter berisi daftar EmoticonPacks yang digunakan untuk membawa data emoticon. Setiap EmoticonPack mewakili koleksi emoticon. PageFactory digunakan untuk membuat Tampilan yang menampilkan ekspresi, dan ekspresi ditampilkan dalam bentuk Halaman. Dengan menyesuaikan PageFactory yang berbeda, Anda dapat menampilkan emotikon dengan cara yang berbeda.
< github .ll.emotionboard.EmoticonsBoard xmlns : android = " http://schemas.android.com/apk/res/android "
xmlns : app = " http://schemas.android.com/apk/res-auto "
android : layout_width = " match_parent "
android : layout_height = " match_parent "
android : orientation = " vertical " >
< LinearLayout
android : layout_width = " match_parent "
android : layout_height = " match_parent "
android : orientation = " vertical " >
< ListView
android : layout_width = " match_parent "
android : layout_height = " match_parent " />
</ LinearLayout >
</ github .ll.emotionboard.EmoticonsBoard>
EmoticonsBoard hanya dapat memiliki satu tampilan anak
Kode Jawa:
EmoticonsBoard ekBar;
List<EmoticonPack> packs = new ArrayList<EmoticonPack>;
init packs...
EmoticonPacksAdapter adapter = new EmoticonPacksAdapter(packs);
ekBar.setAdapter(adapter);
Untuk detailnya lihat sumber demo
Kode Kotlin:
private var adapter: EmoticonPacksAdapter? = null
private lateinit var mEmojiPack: EmoticonPack<Emoticon>
...
val emoticon = Emoticon()
emoticon.code = "new emoji"
emoticon.uri = "xxx"
mEmojiPack.emoticons.add(emoticon)
mEmojiPack.emoticons.add(emoticon)
mEmojiPack.isDataChanged = true
adapter?.notifyDataSetChanged()
Membuat isDataChanged emoticonPack yang dimodifikasi menjadi true sangatlah penting