diff --git a/app/build.gradle b/app/build.gradle index b64a666..40f5b61 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,6 +2,7 @@ plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'io.realm.kotlin' + id 'kotlin-android-extensions' } android { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 06fede1..403880d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -28,13 +28,16 @@ - - + \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/activity/Base.kt b/app/src/main/java/com/mime/dualscreenview/activity/Base.kt index 02dc36e..f93e3df 100644 --- a/app/src/main/java/com/mime/dualscreenview/activity/Base.kt +++ b/app/src/main/java/com/mime/dualscreenview/activity/Base.kt @@ -1,6 +1,5 @@ package com.mime.dualscreenview.activity -import android.content.res.Configuration import android.os.Handler import android.os.Looper import android.os.Message @@ -19,8 +18,9 @@ import android.view.KeyEvent.KEYCODE_VOLUME_UP import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.mime.dualscreenview.common.Blog -import com.mime.dualscreenview.dto.HistoryItem -import com.mime.dualscreenview.dto.LastInfo +import com.mime.dualscreenview.data.HistoryManager +import com.mime.dualscreenview.data.model.HistoryItem +import com.mime.dualscreenview.data.model.LastInfo import io.realm.kotlin.Realm import io.realm.kotlin.RealmConfiguration import io.realm.kotlin.types.BaseRealmObject @@ -126,12 +126,6 @@ open class Base : AppCompatActivity() { return false } - fun openRealm() : Realm { - val clazz : Set> = setOf(LastInfo::class, HistoryItem::class) - val config = RealmConfiguration.Builder(clazz) - .schemaVersion(1) - .build() - return Realm.open(config) - } + fun openRealm() : Realm = HistoryManager.openRealm() } \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/activity/Intro.kt b/app/src/main/java/com/mime/dualscreenview/activity/Intro.kt index c3ad83e..4520a33 100644 --- a/app/src/main/java/com/mime/dualscreenview/activity/Intro.kt +++ b/app/src/main/java/com/mime/dualscreenview/activity/Intro.kt @@ -28,10 +28,11 @@ import com.mime.dualscreenview.R import com.mime.dualscreenview.common.Blog import com.mime.dualscreenview.dialog.StyleSelectInterface import com.mime.dualscreenview.dialog.Stylez -import com.mime.dualscreenview.dto.BookPageInfo -import com.mime.dualscreenview.dto.BookPageInfos -import com.mime.dualscreenview.dto.HistoryItem -import com.mime.dualscreenview.dto.LastInfo +import com.mime.dualscreenview.data.model.BookPageInfo +import com.mime.dualscreenview.data.model.BookPageInfos +import com.mime.dualscreenview.data.model.HistoryItem +import com.mime.dualscreenview.data.model.LastInfo +import com.mime.dualscreenview.dialog.DefaultList import com.mime.dualscreenview.view.PagedTextLayout import com.mime.dualscreenview.view.PagedTextViewInterface import com.mime.dualscreenview.view.TouchArea @@ -39,13 +40,10 @@ import com.mime.dualscreenview.webcontents.BaseWebContentsViewer import com.mime.dualscreenview.webcontents.MainControllInterface import com.mime.dualscreenview.webcontents.contentsinfo.Booktoki import com.mime.dualscreenview.webcontents.contentsinfo.GotoSomeWhere -import io.realm.kotlin.Realm -import io.realm.kotlin.RealmConfiguration import io.realm.kotlin.UpdatePolicy import io.realm.kotlin.ext.copyFromRealm import io.realm.kotlin.ext.query import java.lang.System.currentTimeMillis -import java.net.URI import java.text.SimpleDateFormat import java.util.Date @@ -112,10 +110,10 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface { } findViewById(R.id.btn_rotate).setOnClickListener { v-> - switcvhOrient() + switcvhOrient() } findViewById(R.id.btn_setting).setOnClickListener { v-> - showStyleList() + startActivity(Intent(this@Intro, Settings::class.java)) } findViewById(R.id.btn_history).setOnClickListener { v-> var realm = openRealm() @@ -126,20 +124,22 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface { } findViewById(R.id.btn_home).setOnClickListener { v-> pagedTextLayout?.visibility = GONE - mBaseWebContentsViewer.loadContents(Booktoki()) + mBaseWebContentsViewer.loadContents(Booktoki) } - + loadLastInfo() } - fun reloadLastInfo() { + fun loadLastInfo(){ val realm = openRealm() try { lastInfo = realm?.query()?.find()?.last()?.copyFromRealm() } catch (e : Exception) { } + realm.close() + } + fun reloadLastInfo() { val configuration: Configuration = getResources().getConfiguration() if(lastInfo != null && lastInfo?.displayOrientation != configuration.orientation) { findViewById(R.id.btn_rotate).performClick() } - realm.close() } fun reloadTo(lastInfo: LastInfo?) { @@ -147,12 +147,13 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface { if (lastInfo != null) { mBaseWebContentsViewer.loadLastInfo(lastInfo!!) } else { - mBaseWebContentsViewer.loadContents(Booktoki()) + mBaseWebContentsViewer.loadContents(Booktoki) } },200L) } override fun onResume() { super.onResume() + reloadLastInfo() reloadTo(lastInfo) } @@ -221,40 +222,11 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface { } fun showList(infos: BookPageInfos) { - val builderSingle: AlertDialog.Builder = AlertDialog.Builder(this@Intro) - builderSingle.setTitle("${currentTitle} : ${currentChapter} -> Select One ") - val arrayAdapter = - ArrayAdapter(this@Intro, android.R.layout.select_dialog_singlechoice) - arrayAdapter.addAll(infos.getTitleArray()) - - - builderSingle.setNegativeButton("cancel", - DialogInterface.OnClickListener { dialog, which -> dialog.dismiss() }) - - builderSingle.setAdapter(arrayAdapter, - DialogInterface.OnClickListener { dialog, which -> - val strName = arrayAdapter.getItem(which) - val item = infos.list?.get(which) - val builderInner: AlertDialog.Builder = AlertDialog.Builder(this@Intro) - builderInner.setMessage(strName) - builderInner.setTitle("Your Selected Item is") - builderInner.setPositiveButton("Ok", - DialogInterface.OnClickListener { dialog, which -> -// mBaseWebContentsViewer?.webview?.loadUrl() - moveTo(item) - dialog.dismiss() - } - ) - builderInner.show() - }) - var ddddd= builderSingle.create() - ddddd.setOnShowListener { d-> - (d as? AlertDialog)?.let{ - it.listView?.setSelection(currentChapter) - } - } - - ddddd.show() + DefaultList.showDefaultList(this@Intro,"현제는 ${currentTitle} - ${currentChapter} -> 다른화를 골라",infos.getTitleArray(),currentChapter, { position -> + return@showDefaultList infos.list?.get(position)?.title ?: "" + },{position -> + infos.list?.get(position)?.let{moveTo(it)} + }) } private fun moveTo(item: BookPageInfo?) { @@ -422,6 +394,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface { onNextClickAction?.let { it() } } } + var onPrevClickAction: GotoSomeWhere? = null override fun showPrevBtn(find : Boolean, onClickAction: GotoSomeWhere) { onPrevClickAction = onClickAction diff --git a/app/src/main/java/com/mime/dualscreenview/activity/Settings.kt b/app/src/main/java/com/mime/dualscreenview/activity/Settings.kt new file mode 100644 index 0000000..0f6de6f --- /dev/null +++ b/app/src/main/java/com/mime/dualscreenview/activity/Settings.kt @@ -0,0 +1,36 @@ +package com.mime.dualscreenview.activity + +import android.os.Bundle +import com.mime.dualscreenview.R +import kotlinx.android.synthetic.main.settings.letter_space +import kotlinx.android.synthetic.main.settings.line_space +import kotlinx.android.synthetic.main.settings.page_padding +import kotlinx.android.synthetic.main.settings.preview +import kotlinx.android.synthetic.main.settings.text_size + +class Settings : Base() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.settings) + text_size.displayFormat = "글자 크기 : %d" + text_size.mValueChange = { preview.textSize = it.toFloat() } + text_size.value = 14 + page_padding.displayFormat = "페이지 여백 : %d" + page_padding.mValueChange = { preview.setPadding(it,it,it,it) } + page_padding.value = 5 + letter_space.displayFormat = "자간 : %d" + letter_space.mValueChange = { preview.letterSpacing = it.times(0.01).toFloat() } + letter_space.value = 1 + line_space.displayFormat = "행간 : %d" + line_space.mValueChange = { preview.setLineSpacing(1f, 1f.plus(it.times(0.01f))) } + line_space.value = 1 + } + + override fun onResume() { + super.onResume() + } + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/data/HistoryManager.kt b/app/src/main/java/com/mime/dualscreenview/data/HistoryManager.kt new file mode 100644 index 0000000..78e5b0d --- /dev/null +++ b/app/src/main/java/com/mime/dualscreenview/data/HistoryManager.kt @@ -0,0 +1,41 @@ +package com.mime.dualscreenview.data + +import com.mime.dualscreenview.data.model.HistoryItem +import com.mime.dualscreenview.data.model.LastInfo +import com.mime.dualscreenview.data.model.ReaderConfig +import io.realm.kotlin.Realm +import io.realm.kotlin.RealmConfiguration +import io.realm.kotlin.UpdatePolicy +import io.realm.kotlin.types.BaseRealmObject +import kotlin.reflect.KClass + +object HistoryManager { + val clazz : Set> = setOf(LastInfo::class, HistoryItem::class, ReaderConfig::class) + val schemaVersion : Long = 1 + + fun openRealm() : Realm = Realm.open(RealmConfiguration.Builder(clazz) + .schemaVersion(1) + .build()) + + fun save(lastInfo: LastInfo) { + openRealm()?.apply{ + this.writeBlocking { + copyToRealm(lastInfo, UpdatePolicy.ALL) + } + }?.close() + } + + fun save(historyItem: HistoryItem) { + openRealm()?.apply{ + this.writeBlocking { + copyToRealm(historyItem, UpdatePolicy.ALL) + } + }?.close() + } + + fun requestLastInfo(callback : (LastInfo)->Unit) { + openRealm()?.apply{ + + }?.close() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/dto/BookPageInfo.kt b/app/src/main/java/com/mime/dualscreenview/data/model/BookPageInfo.kt similarity index 88% rename from app/src/main/java/com/mime/dualscreenview/dto/BookPageInfo.kt rename to app/src/main/java/com/mime/dualscreenview/data/model/BookPageInfo.kt index e44fb4d..f68b135 100644 --- a/app/src/main/java/com/mime/dualscreenview/dto/BookPageInfo.kt +++ b/app/src/main/java/com/mime/dualscreenview/data/model/BookPageInfo.kt @@ -1,4 +1,4 @@ -package com.mime.dualscreenview.dto +package com.mime.dualscreenview.data.model class BookPageInfos { diff --git a/app/src/main/java/com/mime/dualscreenview/dto/PageInfo.kt b/app/src/main/java/com/mime/dualscreenview/data/model/PageInfo.kt similarity index 95% rename from app/src/main/java/com/mime/dualscreenview/dto/PageInfo.kt rename to app/src/main/java/com/mime/dualscreenview/data/model/PageInfo.kt index 709e96b..261879b 100644 --- a/app/src/main/java/com/mime/dualscreenview/dto/PageInfo.kt +++ b/app/src/main/java/com/mime/dualscreenview/data/model/PageInfo.kt @@ -1,9 +1,8 @@ -package com.mime.dualscreenview.dto +package com.mime.dualscreenview.data.model import android.content.pm.ActivityInfo import io.realm.kotlin.types.RealmObject import io.realm.kotlin.types.annotations.PrimaryKey -import org.mongodb.kbson.ObjectId class LastInfo() : RealmObject { diff --git a/app/src/main/java/com/mime/dualscreenview/data/model/ReaderConfig.kt b/app/src/main/java/com/mime/dualscreenview/data/model/ReaderConfig.kt new file mode 100644 index 0000000..b6b10db --- /dev/null +++ b/app/src/main/java/com/mime/dualscreenview/data/model/ReaderConfig.kt @@ -0,0 +1,15 @@ +package com.mime.dualscreenview.data.model + +import io.realm.kotlin.types.RealmObject +import io.realm.kotlin.types.annotations.PrimaryKey + +class ReaderConfig() : RealmObject { + @PrimaryKey + var id : String? = "" + var textSize : Int? = 14 + var textColor : String? = "#FFFFFF" + var bgColor : String? = "#000000" + var lineSpace : Int? = 0 + var letterSpace : Int? = 0 + var font : String? = "" +} \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/dialog/DefaultList.kt b/app/src/main/java/com/mime/dualscreenview/dialog/DefaultList.kt new file mode 100644 index 0000000..06be58e --- /dev/null +++ b/app/src/main/java/com/mime/dualscreenview/dialog/DefaultList.kt @@ -0,0 +1,42 @@ +package com.mime.dualscreenview.dialog + +import android.R +import android.content.Context +import android.content.DialogInterface +import android.widget.ArrayAdapter +import androidx.appcompat.app.AlertDialog + +object DefaultList { + fun showDefaultList(context: Context,title : String, items : Collection, firstPosition : Int, choosedTitle : (Int)->String, chooedPositive : (Int)->Unit) { + val builderSingle: AlertDialog.Builder = AlertDialog.Builder(context) + builderSingle.setTitle(title) + val arrayAdapter = + ArrayAdapter(context, R.layout.select_dialog_singlechoice) + arrayAdapter.addAll(items) + builderSingle.setNegativeButton("닫기", + DialogInterface.OnClickListener { dialog, which -> dialog.dismiss() }) + + builderSingle.setAdapter(arrayAdapter, + DialogInterface.OnClickListener { dialog, position -> + val strName = arrayAdapter.getItem(position) + val builderInner: AlertDialog.Builder = AlertDialog.Builder(context) + builderInner.setMessage(strName) + builderInner.setTitle(choosedTitle.invoke(position)) + builderInner.setPositiveButton("이동"){ dialog, which -> + chooedPositive.invoke(position) + dialog.dismiss() + } + builderInner.show().apply { + DialogManager.add(this) + } + }) + builderSingle.create()?.apply{ + setOnShowListener { d-> + (d as? AlertDialog)?.let{ + it.listView?.setSelection(firstPosition) + } + } + DialogManager.add(this) + }?.show() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/dialog/DialogManager.kt b/app/src/main/java/com/mime/dualscreenview/dialog/DialogManager.kt new file mode 100644 index 0000000..2dfe883 --- /dev/null +++ b/app/src/main/java/com/mime/dualscreenview/dialog/DialogManager.kt @@ -0,0 +1,19 @@ +package com.mime.dualscreenview.dialog + +import android.app.Dialog +import androidx.activity.ComponentDialog +import java.lang.Exception + +object DialogManager { + val dialogs = arrayListOf() + fun add(item : ComponentDialog) = dialogs.add(item) + fun closeAll() { + for (dialog in dialogs) { + try { + dialog?.dismiss() + } catch(e : Exception) { + + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/view/PagedTextGenerateInterface.kt b/app/src/main/java/com/mime/dualscreenview/view/PagedTextGenerateInterface.kt new file mode 100644 index 0000000..24350a8 --- /dev/null +++ b/app/src/main/java/com/mime/dualscreenview/view/PagedTextGenerateInterface.kt @@ -0,0 +1,5 @@ +package com.mime.dualscreenview.view + +interface PagedTextGenerateInterface { + fun completePagination(pageList: ArrayList) +} \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/view/PagedTextLayout.kt b/app/src/main/java/com/mime/dualscreenview/view/PagedTextLayout.kt index 36e1eae..ab29807 100644 --- a/app/src/main/java/com/mime/dualscreenview/view/PagedTextLayout.kt +++ b/app/src/main/java/com/mime/dualscreenview/view/PagedTextLayout.kt @@ -63,11 +63,12 @@ class PagedTextLayout : ConstraintLayout , PagedTextGenerateInterface { } override fun onSingleTap(touchArea: TouchArea) { - var isCenterTouch = TouchArea.Center.equals(touchArea) - hanler.removeCallbacks(touchTimeover) - mPagedTextViewInterface?.onTouch(touchArea) - if(isCenterTouch) { + if(TouchArea.Center.equals(touchArea)) { + hanler.removeCallbacks(touchTimeover) + mPagedTextViewInterface?.onTouch(touchArea) hanler?.postDelayed(touchTimeover, 3000L) + } else { + mPagedTextViewInterface?.onTouch(touchArea) } } }) diff --git a/app/src/main/java/com/mime/dualscreenview/view/PagedTextView.kt b/app/src/main/java/com/mime/dualscreenview/view/PagedTextView.kt index 0598030..3da7d01 100644 --- a/app/src/main/java/com/mime/dualscreenview/view/PagedTextView.kt +++ b/app/src/main/java/com/mime/dualscreenview/view/PagedTextView.kt @@ -12,17 +12,6 @@ import com.mime.dualscreenview.common.Blog import kotlin.math.min -interface PagedTextViewInterface { - fun onTouch(touchArea: TouchArea) - fun onTimeoverTouch() - fun onSwipeLeft() - fun onSwipeRight() -} - -interface PagedTextGenerateInterface { - fun completePagination(pageList: ArrayList) -} - class PagedTextView : AppCompatTextView { diff --git a/app/src/main/java/com/mime/dualscreenview/view/PagedTextViewInterface.kt b/app/src/main/java/com/mime/dualscreenview/view/PagedTextViewInterface.kt new file mode 100644 index 0000000..fe21d19 --- /dev/null +++ b/app/src/main/java/com/mime/dualscreenview/view/PagedTextViewInterface.kt @@ -0,0 +1,8 @@ +package com.mime.dualscreenview.view + +interface PagedTextViewInterface { + fun onTouch(touchArea: TouchArea) + fun onTimeoverTouch() + fun onSwipeLeft() + fun onSwipeRight() +} \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/view/StepsEditor.kt b/app/src/main/java/com/mime/dualscreenview/view/StepsEditor.kt new file mode 100644 index 0000000..b34cd19 --- /dev/null +++ b/app/src/main/java/com/mime/dualscreenview/view/StepsEditor.kt @@ -0,0 +1,59 @@ +package com.mime.dualscreenview.view + +import android.content.Context +import android.util.AttributeSet +import androidx.constraintlayout.widget.ConstraintLayout +import com.mime.dualscreenview.R +import kotlinx.android.synthetic.main.layout_steps_editor.view.btn_decrement +import kotlinx.android.synthetic.main.layout_steps_editor.view.btn_increment +import kotlinx.android.synthetic.main.layout_steps_editor.view.text_value +import java.lang.Exception + +typealias ValueChange = (Int)->Unit + +class StepsEditor : ConstraintLayout { + constructor(context: Context) : super(context) + constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super( + context, + attrs, + defStyleAttr + ) + + constructor( + context: Context, + attrs: AttributeSet?, + defStyleAttr: Int, + defStyleRes: Int + ) : super(context, attrs, defStyleAttr, defStyleRes) + + var value : Int = 14 + set(newValue) { + text_value.text = displayFormat.format(newValue) + mValueChange?.invoke(newValue) + field = newValue + } + var displayFormat = "글자 크기 : %d" + set(newValue) { + try { + text_value.text = displayFormat.format(value) + } catch (e : Exception) { + + } + field = newValue + } + + var mValueChange : ValueChange? = null + set(newValue) { + if (newValue != null) { + newValue(value) + } + field = newValue + } + + init { + inflate(context, R.layout.layout_steps_editor,this) + btn_decrement.setOnClickListener { value = value.dec() } + btn_increment.setOnClickListener { value = value.inc() } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mime/dualscreenview/webcontents/BaseWebContentsViewer.kt b/app/src/main/java/com/mime/dualscreenview/webcontents/BaseWebContentsViewer.kt index 9ce9a99..ade4900 100644 --- a/app/src/main/java/com/mime/dualscreenview/webcontents/BaseWebContentsViewer.kt +++ b/app/src/main/java/com/mime/dualscreenview/webcontents/BaseWebContentsViewer.kt @@ -2,11 +2,9 @@ package com.mime.dualscreenview.webcontents import android.app.AlertDialog import android.graphics.Bitmap -import android.net.http.SslError import android.util.Log import android.webkit.* -import android.widget.Toast -import com.mime.dualscreenview.dto.LastInfo +import com.mime.dualscreenview.data.model.LastInfo import com.mime.dualscreenview.webcontents.contentsinfo.DidFindContents diff --git a/app/src/main/java/com/mime/dualscreenview/webcontents/MainControllInterface.kt b/app/src/main/java/com/mime/dualscreenview/webcontents/MainControllInterface.kt index c694c22..c6dbd16 100644 --- a/app/src/main/java/com/mime/dualscreenview/webcontents/MainControllInterface.kt +++ b/app/src/main/java/com/mime/dualscreenview/webcontents/MainControllInterface.kt @@ -1,6 +1,6 @@ package com.mime.dualscreenview.webcontents -import com.mime.dualscreenview.dto.LastInfo +import com.mime.dualscreenview.data.model.LastInfo import com.mime.dualscreenview.webcontents.contentsinfo.GotoSomeWhere interface MainControllInterface { diff --git a/app/src/main/java/com/mime/dualscreenview/webcontents/WebContentsManger.kt b/app/src/main/java/com/mime/dualscreenview/webcontents/WebContentsManger.kt index 54693b6..9097726 100644 --- a/app/src/main/java/com/mime/dualscreenview/webcontents/WebContentsManger.kt +++ b/app/src/main/java/com/mime/dualscreenview/webcontents/WebContentsManger.kt @@ -3,10 +3,10 @@ package com.mime.dualscreenview.webcontents import com.mime.dualscreenview.webcontents.contentsinfo.Booktoki object WebContentsManger { - val allContentsList : ArrayList = arrayListOf(Booktoki()) + val allContentsList : ArrayList = arrayListOf(Booktoki) fun getBaseWebContentsBy(name : String) : BaseWebContents { - var correctContents : BaseWebContents = Booktoki() + var correctContents : BaseWebContents = Booktoki for (contents in allContentsList) { if(name.equals(contents.getWebcontentsName())) { correctContents = contents diff --git a/app/src/main/java/com/mime/dualscreenview/webcontents/contentsinfo/Booktoki.kt b/app/src/main/java/com/mime/dualscreenview/webcontents/contentsinfo/Booktoki.kt index d3446df..ec0b04e 100644 --- a/app/src/main/java/com/mime/dualscreenview/webcontents/contentsinfo/Booktoki.kt +++ b/app/src/main/java/com/mime/dualscreenview/webcontents/contentsinfo/Booktoki.kt @@ -2,7 +2,7 @@ package com.mime.dualscreenview.webcontents.contentsinfo import com.mime.dualscreenview.webcontents.BaseWebContents -class Booktoki : BaseWebContents() { +object Booktoki : BaseWebContents() { override var lastNumber : Int = 222 diff --git a/app/src/main/res/font/jsarirang_hon.otf b/app/src/main/res/font/jsarirang_hon.otf new file mode 100644 index 0000000..8c210f8 Binary files /dev/null and b/app/src/main/res/font/jsarirang_hon.otf differ diff --git a/app/src/main/res/font/jsarirang_ppuri.otf b/app/src/main/res/font/jsarirang_ppuri.otf new file mode 100644 index 0000000..5c0ed01 Binary files /dev/null and b/app/src/main/res/font/jsarirang_ppuri.otf differ diff --git a/app/src/main/res/font/jsdongkang_regular.otf b/app/src/main/res/font/jsdongkang_regular.otf new file mode 100644 index 0000000..ed0a9cb Binary files /dev/null and b/app/src/main/res/font/jsdongkang_regular.otf differ diff --git a/app/src/main/res/font/kcc_sonkeechung.otf b/app/src/main/res/font/kcc_sonkeechung.otf new file mode 100644 index 0000000..73f7e3c Binary files /dev/null and b/app/src/main/res/font/kcc_sonkeechung.otf differ diff --git a/app/src/main/res/font/kyobo_handwriting_2021sjy.otf b/app/src/main/res/font/kyobo_handwriting_2021sjy.otf new file mode 100644 index 0000000..f272324 Binary files /dev/null and b/app/src/main/res/font/kyobo_handwriting_2021sjy.otf differ diff --git a/app/src/main/res/font/taebaek_milkyway.otf b/app/src/main/res/font/taebaek_milkyway.otf new file mode 100644 index 0000000..d17f9bd Binary files /dev/null and b/app/src/main/res/font/taebaek_milkyway.otf differ diff --git a/app/src/main/res/layout/item_colorz.xml b/app/src/main/res/layout/item_colorz.xml index a22cdc9..d2ed149 100644 --- a/app/src/main/res/layout/item_colorz.xml +++ b/app/src/main/res/layout/item_colorz.xml @@ -2,12 +2,13 @@ diff --git a/app/src/main/res/layout/item_setting_title.xml b/app/src/main/res/layout/item_setting_title.xml new file mode 100644 index 0000000..9189866 --- /dev/null +++ b/app/src/main/res/layout/item_setting_title.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_steps_editor.xml b/app/src/main/res/layout/layout_steps_editor.xml new file mode 100644 index 0000000..643ef69 --- /dev/null +++ b/app/src/main/res/layout/layout_steps_editor.xml @@ -0,0 +1,47 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_textviewer.xml b/app/src/main/res/layout/layout_textviewer.xml index 83880e7..d500844 100644 --- a/app/src/main/res/layout/layout_textviewer.xml +++ b/app/src/main/res/layout/layout_textviewer.xml @@ -24,9 +24,10 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@id/sencond_view" android:layout_width="0dp" + style="@style/sss" android:layout_height="match_parent"/> - - \ No newline at end of file diff --git a/app/src/main/res/layout/settings.xml b/app/src/main/res/layout/settings.xml new file mode 100644 index 0000000..78066bb --- /dev/null +++ b/app/src/main/res/layout/settings.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f8c6127..515aa40 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -7,4 +7,6 @@ #FF018786 #FF000000 #FFFFFFFF + #994CAF50 + #99007ACC \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 0146907..5ac04f8 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -2,4 +2,5 @@ 35dp 15dp + 45dp \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index feb9060..9de98ef 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,6 +2,7 @@ DualScreenView 화면 옮 기 기 it\'s 두번째화면 + 여섯글자마다 방점을찍어놔 diff --git a/app/src/main/res/values/style.xml b/app/src/main/res/values/style.xml new file mode 100644 index 0000000..20d53f0 --- /dev/null +++ b/app/src/main/res/values/style.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file