EmoticonsBoard
1.0.0
XhsEmoticonsKeyboard에서 영감을 받아 프레임워크가 재설계되었으며 이모티콘을 동적으로 업데이트하는 기능이 추가되었습니다. EmoticonPacksAdapter를 사용하면 이모티콘을 쉽게 추가하거나 제거할 수 있습니다.
새로운 코드는 Kotlin을 사용하여 개발되었습니다.
allprojects {
repositories {
jcenter()
}
}
그리고:
dependencies {
compile 'im.ll:emoticonsboard:1.0.0'
}
EmoticonsBoard는 EmoticonPacksAdapter를 설정하여 이모티콘을 표시합니다. EmoticonPacksAdapter에는 이모티콘 데이터를 전달하는 데 사용되는 EmoticonPacks 목록이 포함되어 있습니다. 각 EmoticonPack은 이모티콘 컬렉션을 나타냅니다. PageFactory는 표현식을 표시하는 뷰를 생성하는 데 사용되며 표현식은 페이지 형식으로 표시됩니다. 다양한 PageFactory를 사용자 정의하여 이모티콘을 다양한 방식으로 표시할 수 있습니다.
< 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는 하나의 하위 보기만 가질 수 있습니다.
자바 코드:
EmoticonsBoard ekBar;
List<EmoticonPack> packs = new ArrayList<EmoticonPack>;
init packs...
EmoticonPacksAdapter adapter = new EmoticonPacksAdapter(packs);
ekBar.setAdapter(adapter);
자세한 내용은 데모 소스를 참조하세요
코틀린 코드:
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()
수정된 emoticonPack의 isDataChanged를 true로 만드는 것이 매우 중요합니다.