@@ -3,6 +3,7 @@ package com.yuruiyin.richeditor.sample
33import android.content.Context
44import android.content.Intent
55import android.os.Bundle
6+ import android.support.v4.content.ContextCompat
67import android.support.v7.app.AppCompatActivity
78import android.text.TextUtils
89import android.util.Log
@@ -77,6 +78,99 @@ class MainActivity : AppCompatActivity() {
7778 registerEvents()
7879 }
7980
81+ /* *
82+ * 粗体
83+ */
84+ private fun initBold () {
85+ val styleBtnVm = StyleBtnVm .Builder ()
86+ .setType(RichTypeEnum .BOLD )
87+ .setIvIcon(ivBold)
88+ .setIconNormalResId(R .mipmap.icon_bold_normal)
89+ .setIconLightResId(R .mipmap.icon_bold_light)
90+ .setClickedView(ivBold)
91+ .build()
92+
93+ richEditText.initStyleButton(styleBtnVm)
94+ }
95+
96+ /* *
97+ * 斜体
98+ */
99+ private fun initItalic () {
100+ val styleBtnVm = StyleBtnVm .Builder ()
101+ .setType(RichTypeEnum .ITALIC )
102+ .setIvIcon(ivItalic)
103+ .setIconNormalResId(R .mipmap.icon_italic_normal)
104+ .setIconLightResId(R .mipmap.icon_italic_light)
105+ .setClickedView(ivItalic)
106+ .build()
107+
108+ richEditText.initStyleButton(styleBtnVm)
109+ }
110+
111+ /* *
112+ * 删除线
113+ */
114+ private fun initStrikeThrough () {
115+ val styleBtnVm = StyleBtnVm .Builder ()
116+ .setType(RichTypeEnum .STRIKE_THROUGH )
117+ .setIvIcon(ivStrikeThrough)
118+ .setIconNormalResId(R .mipmap.icon_strikethrough_normal)
119+ .setIconLightResId(R .mipmap.icon_strikethrough_light)
120+ .setClickedView(ivStrikeThrough)
121+ .build()
122+
123+ richEditText.initStyleButton(styleBtnVm)
124+ }
125+
126+ /* *
127+ * 下划线
128+ */
129+ private fun initUnderline () {
130+ val styleBtnVm = StyleBtnVm .Builder ()
131+ .setType(RichTypeEnum .UNDERLINE )
132+ .setIvIcon(ivUnderline)
133+ .setIconNormalResId(R .mipmap.icon_underline_normal)
134+ .setIconLightResId(R .mipmap.icon_underline_light)
135+ .setClickedView(ivUnderline)
136+ .build()
137+
138+ richEditText.initStyleButton(styleBtnVm)
139+ }
140+
141+ /* *
142+ * 标题
143+ */
144+ private fun initHeadline () {
145+ val styleBtnVm = StyleBtnVm .Builder ()
146+ .setType(RichTypeEnum .BLOCK_HEADLINE )
147+ .setIvIcon(ivHeadline)
148+ .setIconNormalResId(R .mipmap.icon_headline_normal)
149+ .setIconLightResId(R .mipmap.icon_headline_light)
150+ .setClickedView(vgHeadline)
151+ .setTvTitle(tvHeadline)
152+ .setTitleNormalColor(ContextCompat .getColor(this @MainActivity, R .color.headline_normal_text_color))
153+ .setTitleLightColor(ContextCompat .getColor(this @MainActivity, R .color.headline_light_text_color))
154+ .build()
155+
156+ richEditText.initStyleButton(styleBtnVm)
157+ }
158+
159+ /* *
160+ * 下划线
161+ */
162+ private fun initBlockQuote () {
163+ val styleBtnVm = StyleBtnVm .Builder ()
164+ .setType(RichTypeEnum .BLOCK_QUOTE )
165+ .setIvIcon(ivBlockquote)
166+ .setIconNormalResId(R .mipmap.icon_blockquote_normal)
167+ .setIconLightResId(R .mipmap.icon_blockquote_light)
168+ .setClickedView(ivBlockquote)
169+ .build()
170+
171+ richEditText.initStyleButton(styleBtnVm)
172+ }
173+
80174 private fun registerEvents () {
81175 // 生成json数据,显示到TextView上
82176 btnCreateJson.setOnClickListener {
@@ -104,71 +198,23 @@ class MainActivity : AppCompatActivity() {
104198 handleClearDraft()
105199 }
106200
107- // 加粗
108- richEditText.initStyleButton(
109- StyleBtnVm (
110- RichTypeEnum .BOLD ,
111- ivBold,
112- R .mipmap.icon_bold_normal,
113- R .mipmap.icon_bold_light,
114- ivBold
115- )
116- )
201+ // 粗体
202+ initBold()
117203
118204 // 斜体
119- richEditText.initStyleButton(
120- StyleBtnVm (
121- RichTypeEnum .ITALIC ,
122- ivItalic,
123- R .mipmap.icon_italic_normal,
124- R .mipmap.icon_italic_light,
125- ivItalic
126- )
127- )
205+ initItalic()
128206
129207 // 删除线
130- richEditText.initStyleButton(
131- StyleBtnVm (
132- RichTypeEnum .STRIKE_THROUGH ,
133- ivStrikeThrough,
134- R .mipmap.icon_strikethrough_normal,
135- R .mipmap.icon_strikethrough_light,
136- ivStrikeThrough
137- )
138- )
208+ initStrikeThrough()
139209
140210 // 下划线
141- richEditText.initStyleButton(
142- StyleBtnVm (
143- RichTypeEnum .UNDERLINE ,
144- ivUnderline,
145- R .mipmap.icon_underline_normal,
146- R .mipmap.icon_underline_light,
147- ivUnderline
148- )
149- )
211+ initUnderline()
150212
151213 // 标题
152- richEditText.initStyleButton(
153- StyleBtnVm (
154- RichTypeEnum .BLOCK_HEADLINE ,
155- ivHeadline,
156- R .mipmap.icon_headline_normal,
157- R .mipmap.icon_headline_light,
158- vgHeadline
159- )
160- )
214+ initHeadline()
161215
162216 // 引用
163- richEditText.initStyleButton(
164- StyleBtnVm (
165- RichTypeEnum .BLOCK_QUOTE ,
166- ivBlockquote,
167- R .mipmap.icon_blockquote_normal,
168- R .mipmap.icon_blockquote_light,
169- ivBlockquote
170- )
171- )
217+ initBlockQuote()
172218
173219 // 添加图片
174220 ivAddImage.setOnClickListener {
@@ -250,7 +296,7 @@ class MainActivity : AppCompatActivity() {
250296 }
251297 // 以下就是用户自定义的blockType,可能是图片、视频、自定义类型等
252298 BlockImageSpanType .IMAGE -> {
253- val imageVm= it.image ? : return @forEach
299+ val imageVm = it.image ? : return @forEach
254300 doAddBlockImageSpan(imageVm.path, imageVm, true )
255301 }
256302 BlockImageSpanType .VIDEO -> {
@@ -294,7 +340,7 @@ class MainActivity : AppCompatActivity() {
294340 private fun handleSaveDraft () {
295341 val richEditorBlockList = richEditText.content
296342 // 先将对象进行转换,让里头blockImageSpanObtainObject具体到各自类型的实体上(如ImageVm)
297- val draftEditorBlockList= convertEditorContent(richEditorBlockList)
343+ val draftEditorBlockList = convertEditorContent(richEditorBlockList)
298344
299345 val jsonContent = Gson ().toJson(draftEditorBlockList)
300346 val sp = getSharedPreferences(SP_DRAFT_NAME , Context .MODE_PRIVATE )
0 commit comments