...
This commit is contained in:
parent
f107c7c84d
commit
c249e79e9a
@ -36,6 +36,9 @@ android {
|
|||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
jvmTarget = '1.8'
|
jvmTarget = '1.8'
|
||||||
}
|
}
|
||||||
|
buildFeatures {
|
||||||
|
dataBinding true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
|||||||
@ -18,8 +18,7 @@
|
|||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activity.Intro"
|
android:name=".activity.Intro"
|
||||||
android:launchMode="singleInstance"
|
android:launchMode="singleTask"
|
||||||
android:screenOrientation="nosensor"
|
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.mime.dualscreenview.activity
|
package com.mime.dualscreenview.activity
|
||||||
|
|
||||||
import android.content.DialogInterface
|
import android.content.DialogInterface
|
||||||
|
import android.content.Intent
|
||||||
import android.content.pm.ActivityInfo
|
import android.content.pm.ActivityInfo
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
@ -10,7 +11,10 @@ import android.os.Bundle
|
|||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.os.Message
|
import android.os.Message
|
||||||
import android.text.InputType
|
import android.text.InputType
|
||||||
|
import android.text.SpannableStringBuilder
|
||||||
|
import android.text.style.RelativeSizeSpan
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import android.view.Gravity
|
||||||
import android.view.KeyEvent
|
import android.view.KeyEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.View.*
|
import android.view.View.*
|
||||||
@ -22,9 +26,11 @@ import android.widget.EditText
|
|||||||
import android.widget.ImageButton
|
import android.widget.ImageButton
|
||||||
import android.widget.ProgressBar
|
import android.widget.ProgressBar
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
|
import android.widget.Toast
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.widget.AppCompatButton
|
import androidx.appcompat.widget.AppCompatButton
|
||||||
|
import androidx.constraintlayout.utils.widget.ImageFilterButton
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.mime.dualscreenview.R
|
import com.mime.dualscreenview.R
|
||||||
import com.mime.dualscreenview.common.Blog
|
import com.mime.dualscreenview.common.Blog
|
||||||
@ -125,12 +131,12 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
contentsSaver?.clearSslPreferences();
|
contentsSaver?.clearSslPreferences();
|
||||||
}
|
}
|
||||||
|
|
||||||
findViewById<View>(R.id.btn_rotate).setOnClickListener { v->
|
// findViewById<View>(R.id.btn_rotate).setOnClickListener { v->
|
||||||
switcvhOrient()
|
// switcvhOrient()
|
||||||
}
|
// }
|
||||||
|
|
||||||
findViewById<View>(R.id.btn_setting).setOnClickListener { v->
|
findViewById<View>(R.id.btn_setting).setOnClickListener { v->
|
||||||
// startActivity(Intent(this@Intro, Settings::class.java))
|
startActivity(Intent(this@Intro, Settings::class.java))
|
||||||
}
|
}
|
||||||
findViewById<View>(R.id.btn_history).setOnClickListener { v->
|
findViewById<View>(R.id.btn_history).setOnClickListener { v->
|
||||||
var realm = openRealm()
|
var realm = openRealm()
|
||||||
@ -158,7 +164,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
fun reloadLastInfo() {
|
fun reloadLastInfo() {
|
||||||
val configuration: Configuration = getResources().getConfiguration()
|
val configuration: Configuration = getResources().getConfiguration()
|
||||||
if(lastInfo != null && lastInfo?.displayOrientation != configuration.orientation) {
|
if(lastInfo != null && lastInfo?.displayOrientation != configuration.orientation) {
|
||||||
findViewById<View>(R.id.btn_rotate).performClick()
|
// findViewById<View>(R.id.btn_rotate).performClick()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,11 +253,11 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
reloadTo(lastInfo)
|
reloadTo(lastInfo)
|
||||||
}
|
}
|
||||||
fun switcvhOrient(){
|
fun switcvhOrient(){
|
||||||
val configuration: Configuration = getResources().getConfiguration()
|
// val configuration: Configuration = getResources().getConfiguration()
|
||||||
setRequestedOrientation(
|
// setRequestedOrientation(
|
||||||
if(configuration.orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE }
|
// if(configuration.orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE }
|
||||||
else {ActivityInfo.SCREEN_ORIENTATION_PORTRAIT}
|
// else {ActivityInfo.SCREEN_ORIENTATION_PORTRAIT}
|
||||||
)
|
// )
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showHistory(infos: List<HistoryItem>) {
|
fun showHistory(infos: List<HistoryItem>) {
|
||||||
@ -343,7 +349,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
override fun onPageFinished(webView: WebView?, url: String?) {
|
override fun onPageFinished(webView: WebView?, url: String?) {
|
||||||
super.onPageFinished(webView, url)
|
super.onPageFinished(webView, url)
|
||||||
isLoading = false
|
isLoading = false
|
||||||
var ramdomTimeSec = 1000L + Random(System.currentTimeMillis()).nextLong().rem(1999)
|
var ramdomTimeSec = 1500L + Random(System.currentTimeMillis()).nextLong().rem(2999)
|
||||||
Blog.LOGE("ramdomTime >>> ${ramdomTimeSec}")
|
Blog.LOGE("ramdomTime >>> ${ramdomTimeSec}")
|
||||||
webView?.postDelayed( {
|
webView?.postDelayed( {
|
||||||
Blog.LOGE("saveClient >>> ${isLoading} ${url}")
|
Blog.LOGE("saveClient >>> ${isLoading} ${url}")
|
||||||
@ -353,13 +359,13 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
webView?.evaluateJavascript(findContents){ result: String? ->
|
webView?.evaluateJavascript(findContents){ result: String? ->
|
||||||
Blog.LOGE("saveClient result >>> ${result}")
|
Blog.LOGE("saveClient result >>> ${result}")
|
||||||
result?.let { string: String ->
|
result?.let { string: String ->
|
||||||
Blog.LOGE("saveClient contents >>> ${string}")
|
Blog.LOGE("saveClient contents >>> ${string.length}")
|
||||||
if (string.length > 10) {
|
if (string.length > 10) {
|
||||||
Blog.LOGE("saveClient it.length >>> ${string.length}")
|
Blog.LOGE("saveClient it.length >>> ${string.length}")
|
||||||
var contents = string.replace("\\\"", "\"")
|
var contents = string.replace("\\\"", "\"")
|
||||||
contents =
|
contents =
|
||||||
(contents.replace("\\n", System.getProperty("line.separator")))
|
(contents.replace("\\n", System.getProperty("line.separator")))
|
||||||
Blog.LOGE("saveClient contents >>> ${contents}")
|
Blog.LOGE("saveClient contents >>> ${contents.length}")
|
||||||
Uri.parse(url)?.let {
|
Uri.parse(url)?.let {
|
||||||
it.path?.let {
|
it.path?.let {
|
||||||
HistoryManager.getBooPageInfo(it) {
|
HistoryManager.getBooPageInfo(it) {
|
||||||
@ -371,11 +377,21 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.close()
|
}.close()
|
||||||
|
runOnUiThread {
|
||||||
|
it?.let {
|
||||||
|
var origin = it.getTitleItem()
|
||||||
|
val biggerText = SpannableStringBuilder(origin)
|
||||||
|
biggerText.setSpan(RelativeSizeSpan(1.6f), 0, origin.length, 0)
|
||||||
|
Toast.makeText(baseContext,biggerText, Toast.LENGTH_LONG).apply {
|
||||||
|
setGravity(Gravity.CENTER, 0, 0)
|
||||||
|
}.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var ramdomTime = 10000L + Random(System.currentTimeMillis()).nextLong().rem(3999)
|
}
|
||||||
|
}
|
||||||
|
var ramdomTime = 10000L + Random(System.currentTimeMillis()).nextLong().rem(9999)
|
||||||
Blog.LOGE("ramdomTime >>> ${ramdomTime}")
|
Blog.LOGE("ramdomTime >>> ${ramdomTime}")
|
||||||
contentsSaver?.postDelayed( { saveItem(null) }, ramdomTime)
|
contentsSaver?.postDelayed( { saveItem(null) }, ramdomTime)
|
||||||
}
|
}
|
||||||
@ -454,8 +470,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
var onNextClickAction: GotoSomeWhere? = null
|
var onNextClickAction: GotoSomeWhere? = null
|
||||||
override fun showNextBtn(find : Boolean , onClickAction: GotoSomeWhere) {
|
override fun showNextBtn(find : Boolean , onClickAction: GotoSomeWhere) {
|
||||||
onNextClickAction = onClickAction
|
onNextClickAction = onClickAction
|
||||||
findViewById<AppCompatButton>(R.id.btn_right)?.let{
|
findViewById<ImageFilterButton>(R.id.btn_right)?.let{
|
||||||
it.text = "다음 페이지"
|
|
||||||
it.setOnClickListener {
|
it.setOnClickListener {
|
||||||
actionNextEvent()
|
actionNextEvent()
|
||||||
}
|
}
|
||||||
@ -505,8 +520,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
var onPrevClickAction: GotoSomeWhere? = null
|
var onPrevClickAction: GotoSomeWhere? = null
|
||||||
override fun showPrevBtn(find : Boolean, onClickAction: GotoSomeWhere) {
|
override fun showPrevBtn(find : Boolean, onClickAction: GotoSomeWhere) {
|
||||||
onPrevClickAction = onClickAction
|
onPrevClickAction = onClickAction
|
||||||
findViewById<AppCompatButton>(R.id.btn_left)?.let{
|
findViewById<ImageFilterButton>(R.id.btn_left)?.let{
|
||||||
it.text = "이전 페이지"
|
|
||||||
it.setOnClickListener {
|
it.setOnClickListener {
|
||||||
actionPrevEvent()
|
actionPrevEvent()
|
||||||
}
|
}
|
||||||
@ -584,13 +598,14 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
paged_layer.apply {
|
paged_layer.apply {
|
||||||
if (aContents != null) {
|
if (aContents != null) {
|
||||||
var contents = aContents.replace("\\\"","\"")
|
var contents = aContents.replace("\\\"","\"")
|
||||||
text = (contents.replace("\\n", System.getProperty("line.separator")))
|
contents = (contents.replace("\\n", System.getProperty("line.separator")))
|
||||||
visibility = VISIBLE
|
|
||||||
mPagedTextViewInterface = this@Intro
|
mPagedTextViewInterface = this@Intro
|
||||||
var realm = HistoryManager.openRealm()
|
var realm = HistoryManager.openRealm()
|
||||||
realm.query<ReaderConfig>()?.find()?.let {
|
realm.query<ReaderConfig>()?.find()?.let {
|
||||||
if (it.size > 0) {
|
if (it.size > 0) {
|
||||||
realm.copyFromRealm(it.first())?.let {
|
realm.copyFromRealm(it.first())?.let {
|
||||||
|
runOnUiThread {
|
||||||
paged_layer?.setTextSize(it.textSize?.toFloat()?: 14f)
|
paged_layer?.setTextSize(it.textSize?.toFloat()?: 14f)
|
||||||
paged_layer?.setLineSpacing(it.lineSpace?.toFloat() ?: 1f)
|
paged_layer?.setLineSpacing(it.lineSpace?.toFloat() ?: 1f)
|
||||||
paged_layer?.setLetterSpacing(it.letterSpace?.toFloat() ?: 1f)
|
paged_layer?.setLetterSpacing(it.letterSpace?.toFloat() ?: 1f)
|
||||||
@ -607,6 +622,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
realm.close()
|
realm.close()
|
||||||
|
|
||||||
|
|
||||||
@ -616,12 +632,13 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
if(lastInfo != null && mBaseWebContentsViewer.webview.url?.endsWith(lastInfo!!.pageUrl) ?: false) {
|
if(lastInfo != null && mBaseWebContentsViewer.webview.url?.endsWith(lastInfo!!.pageUrl) ?: false) {
|
||||||
this@Intro.findViewById<ProgressBar>(R.id.progress)?.visibility = VISIBLE
|
this@Intro.findViewById<ProgressBar>(R.id.progress)?.visibility = VISIBLE
|
||||||
paged_layer?.postDelayed({
|
paged_layer?.postDelayed({
|
||||||
next(lastInfo!!.pageIndex)
|
|
||||||
paged_layer?.post {
|
|
||||||
this@Intro.findViewById<ProgressBar>(R.id.progress)?.visibility = GONE
|
this@Intro.findViewById<ProgressBar>(R.id.progress)?.visibility = GONE
|
||||||
}
|
|
||||||
},1000)
|
},1000)
|
||||||
}
|
}
|
||||||
|
runOnUiThread {
|
||||||
|
text = (contents.replace("\\n", System.getProperty("line.separator")))
|
||||||
|
visibility = VISIBLE
|
||||||
|
}
|
||||||
forceUpdateUI()
|
forceUpdateUI()
|
||||||
mBaseWebContentsViewer.webview.url?.let {
|
mBaseWebContentsViewer.webview.url?.let {
|
||||||
Uri.parse(it)?.let {
|
Uri.parse(it)?.let {
|
||||||
@ -776,7 +793,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
findViewById<View>(R.id.btn_home).visibility = VISIBLE
|
findViewById<View>(R.id.btn_home).visibility = VISIBLE
|
||||||
findViewById<View>(R.id.btn_list).visibility = VISIBLE
|
findViewById<View>(R.id.btn_list).visibility = VISIBLE
|
||||||
findViewById<View>(R.id.btn_history).visibility = VISIBLE
|
findViewById<View>(R.id.btn_history).visibility = VISIBLE
|
||||||
findViewById<View>(R.id.btn_rotate).visibility = VISIBLE
|
// findViewById<View>(R.id.btn_rotate).visibility = VISIBLE
|
||||||
|
|
||||||
}
|
}
|
||||||
TouchArea.Right -> {
|
TouchArea.Right -> {
|
||||||
@ -830,7 +847,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
findViewById<View>(R.id.btn_home).visibility = VISIBLE
|
findViewById<View>(R.id.btn_home).visibility = VISIBLE
|
||||||
findViewById<View>(R.id.btn_list).visibility = VISIBLE
|
findViewById<View>(R.id.btn_list).visibility = VISIBLE
|
||||||
findViewById<View>(R.id.btn_history).visibility = VISIBLE
|
findViewById<View>(R.id.btn_history).visibility = VISIBLE
|
||||||
findViewById<View>(R.id.btn_rotate).visibility = VISIBLE
|
// findViewById<View>(R.id.btn_rotate).visibility = VISIBLE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -846,7 +863,7 @@ class Intro : Base() , MainControllInterface, PagedTextViewInterface {
|
|||||||
findViewById<View>(R.id.btn_home).visibility = GONE
|
findViewById<View>(R.id.btn_home).visibility = GONE
|
||||||
findViewById<View>(R.id.btn_list).visibility = GONE
|
findViewById<View>(R.id.btn_list).visibility = GONE
|
||||||
findViewById<View>(R.id.btn_history).visibility = GONE
|
findViewById<View>(R.id.btn_history).visibility = GONE
|
||||||
findViewById<View>(R.id.btn_rotate).visibility = GONE
|
// findViewById<View>(R.id.btn_rotate).visibility = GONE
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,128 +1,125 @@
|
|||||||
//package com.mime.dualscreenview.activity
|
package com.mime.dualscreenview.activity
|
||||||
//
|
|
||||||
//import android.graphics.Color
|
import android.graphics.Color
|
||||||
//import android.os.Build
|
import android.os.Build
|
||||||
//import android.os.Bundle
|
import android.os.Bundle
|
||||||
//import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
//import com.mime.dualscreenview.R
|
import androidx.databinding.DataBindingUtil
|
||||||
//import com.mime.dualscreenview.common.PairArray
|
import com.mime.dualscreenview.R
|
||||||
//import com.mime.dualscreenview.common.colorz
|
import com.mime.dualscreenview.common.PairArray
|
||||||
//import com.mime.dualscreenview.common.getIndex
|
import com.mime.dualscreenview.common.colorz
|
||||||
//import com.mime.dualscreenview.common.typesfacez
|
import com.mime.dualscreenview.common.getIndex
|
||||||
//import com.mime.dualscreenview.data.HistoryManager
|
import com.mime.dualscreenview.common.typesfacez
|
||||||
//import com.mime.dualscreenview.data.model.ReaderConfig
|
import com.mime.dualscreenview.data.HistoryManager
|
||||||
//import io.realm.kotlin.UpdatePolicy
|
import com.mime.dualscreenview.data.model.ReaderConfig
|
||||||
//import io.realm.kotlin.ext.query
|
import com.mime.dualscreenview.databinding.SettingsBinding
|
||||||
//import kotlinx.android.synthetic.main.settings.letter_space
|
import io.realm.kotlin.UpdatePolicy
|
||||||
//import kotlinx.android.synthetic.main.settings.line_space
|
import io.realm.kotlin.ext.query
|
||||||
//import kotlinx.android.synthetic.main.settings.page_padding
|
|
||||||
//import kotlinx.android.synthetic.main.settings.page_style
|
class Settings : Base() {
|
||||||
//import kotlinx.android.synthetic.main.settings.page_typesface
|
|
||||||
//import kotlinx.android.synthetic.main.settings.preview
|
lateinit var binding : SettingsBinding
|
||||||
//import kotlinx.android.synthetic.main.settings.text_size
|
var readerConfig : ReaderConfig? = null
|
||||||
//
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
//class Settings : Base() {
|
super.onCreate(savedInstanceState)
|
||||||
//
|
binding = DataBindingUtil.setContentView(this, R.layout.settings)
|
||||||
// var readerConfig : ReaderConfig? = null
|
|
||||||
// override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
// super.onCreate(savedInstanceState)
|
|
||||||
// setContentView(R.layout.settings)
|
// setContentView(R.layout.settings)
|
||||||
// var realm = HistoryManager.openRealm()
|
var realm = HistoryManager.openRealm()
|
||||||
// realm.writeBlocking {
|
realm.writeBlocking {
|
||||||
// this.query<ReaderConfig>()?.find()?.let {
|
this.query<ReaderConfig>()?.find()?.let {
|
||||||
// if (it.size > 0) {
|
if (it.size > 0) {
|
||||||
// readerConfig = copyFromRealm(it.first())
|
readerConfig = copyFromRealm(it.first())
|
||||||
// } else {
|
} else {
|
||||||
// readerConfig = ReaderConfig()
|
readerConfig = ReaderConfig()
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// }
|
}
|
||||||
// realm.close()
|
realm.close()
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @RequiresApi(Build.VERSION_CODES.O)
|
@RequiresApi(Build.VERSION_CODES.O)
|
||||||
// override fun onResume() {
|
override fun onResume() {
|
||||||
// super.onResume()
|
super.onResume()
|
||||||
// text_size.displayFormat = "글자 크기 : %d"
|
binding.textSize.displayFormat = "글자 크기 : %d"
|
||||||
// text_size.value = readerConfig?.textSize ?: 14
|
binding.textSize.value = readerConfig?.textSize ?: 14
|
||||||
// text_size.mValueChange = {
|
binding.textSize.mValueChange = {
|
||||||
// preview.textSize = it.toFloat() ;
|
binding.preview.textSize = it.toFloat() ;
|
||||||
// if (readerConfig?.textSize != it) {
|
if (readerConfig?.textSize != it) {
|
||||||
// readerConfig?.textSize = it
|
readerConfig?.textSize = it
|
||||||
// configSave()
|
configSave()
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// page_padding.displayFormat = "페이지 여백 : %d"
|
binding.pagePadding.displayFormat = "페이지 여백 : %d"
|
||||||
// page_padding.value = readerConfig?.padding ?: 5
|
binding.pagePadding.value = readerConfig?.padding ?: 5
|
||||||
// page_padding.mValueChange = {
|
binding.pagePadding.mValueChange = {
|
||||||
// preview.setPadding(it,it,it,it) ;
|
binding.preview.setPadding(it,it,it,it) ;
|
||||||
// if (readerConfig?.padding != it) {
|
if (readerConfig?.padding != it) {
|
||||||
// readerConfig?.padding = it
|
readerConfig?.padding = it
|
||||||
// configSave()
|
configSave()
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// letter_space.displayFormat = "자간 : %d"
|
binding.letterSpace.displayFormat = "자간 : %d"
|
||||||
// letter_space.value = readerConfig?.letterSpace ?: 1
|
binding.letterSpace.value = readerConfig?.letterSpace ?: 1
|
||||||
// letter_space.mValueChange = {
|
binding.letterSpace.mValueChange = {
|
||||||
// preview.letterSpacing = it.times(0.01).toFloat() ;
|
binding.preview.letterSpacing = it.times(0.01).toFloat() ;
|
||||||
// if (readerConfig?.letterSpace != it) {
|
if (readerConfig?.letterSpace != it) {
|
||||||
// readerConfig?.letterSpace = it
|
readerConfig?.letterSpace = it
|
||||||
// configSave()
|
configSave()
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// line_space.displayFormat = "행간 : %d"
|
binding.lineSpace.displayFormat = "행간 : %d"
|
||||||
// line_space.value = readerConfig?.lineSpace ?: 1
|
binding.lineSpace.value = readerConfig?.lineSpace ?: 1
|
||||||
// line_space.mValueChange = {
|
binding.lineSpace.mValueChange = {
|
||||||
// preview.setLineSpacing(1f, 1f.plus(it.times(0.01f))) ;
|
binding.preview.setLineSpacing(1f, 1f.plus(it.times(0.01f))) ;
|
||||||
// if (readerConfig?.lineSpace != it) {
|
if (readerConfig?.lineSpace != it) {
|
||||||
// readerConfig?.lineSpace = it
|
readerConfig?.lineSpace = it
|
||||||
// configSave()
|
configSave()
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// page_typesface.displayFormat = "폰트 : %s"
|
binding.pageTypesface.displayFormat = "폰트 : %s"
|
||||||
// page_typesface.titleArray = typesfacez.map { it.first }.toTypedArray()
|
binding.pageTypesface.titleArray = typesfacez.map { it.first }.toTypedArray()
|
||||||
// page_typesface.value = getIndex(typesfacez as PairArray<Any>,readerConfig?.font ?: "")
|
binding.pageTypesface.value = getIndex(typesfacez as PairArray<Any>,readerConfig?.font ?: "")
|
||||||
// page_typesface.mValueChange = {
|
binding.pageTypesface.mValueChange = {
|
||||||
// val pair = typesfacez.get(it)
|
val pair = typesfacez.get(it)
|
||||||
// preview.setTypeface(resources.getFont(pair.second))
|
binding.preview.setTypeface(resources.getFont(pair.second))
|
||||||
// if (readerConfig?.font != pair.first) {
|
if (readerConfig?.font != pair.first) {
|
||||||
// readerConfig?.font = pair.first ?: ""
|
readerConfig?.font = pair.first ?: ""
|
||||||
// configSave()
|
configSave()
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// page_style.displayFormat = "스타일 : %s"
|
binding.pageStyle.displayFormat = "스타일 : %s"
|
||||||
// page_style.titleArray = colorz.map { it.first }.toTypedArray()
|
binding.pageStyle.titleArray = colorz.map { it.first }.toTypedArray()
|
||||||
// page_style.value = readerConfig?.style ?: 0
|
binding.pageStyle.value = readerConfig?.style ?: 0
|
||||||
// page_style.mValueChange = {
|
binding.pageStyle.mValueChange = {
|
||||||
// val pair = colorz.get(it)
|
val pair = colorz.get(it)
|
||||||
// preview.setBackgroundColor(Color.parseColor(pair.second.last()))
|
binding.preview.setBackgroundColor(Color.parseColor(pair.second.last()))
|
||||||
// preview.setTextColor(Color.parseColor(pair.second.first()))
|
binding.preview.setTextColor(Color.parseColor(pair.second.first()))
|
||||||
// if (readerConfig?.style != it) {
|
if (readerConfig?.style != it) {
|
||||||
// readerConfig?.style = it ?: 0
|
readerConfig?.style = it ?: 0
|
||||||
// configSave()
|
configSave()
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// fun configSave() {
|
fun configSave() {
|
||||||
// var realm = HistoryManager.openRealm()
|
var realm = HistoryManager.openRealm()
|
||||||
// realm.writeBlocking {
|
realm.writeBlocking {
|
||||||
// copyToRealm(readerConfig!!, UpdatePolicy.ALL)
|
copyToRealm(readerConfig!!, UpdatePolicy.ALL)
|
||||||
// }
|
}
|
||||||
// realm.close()
|
realm.close()
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
@ -1,62 +1,64 @@
|
|||||||
//package com.mime.dualscreenview.view
|
package com.mime.dualscreenview.view
|
||||||
//
|
|
||||||
//import android.content.Context
|
import android.content.Context
|
||||||
//import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
//import com.mime.dualscreenview.R
|
import android.widget.Button
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.btn_decrement
|
import androidx.appcompat.widget.AppCompatButton
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.btn_increment
|
import com.mime.dualscreenview.R
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.text_value
|
|
||||||
//
|
class ScopeEditor: SideButtonTextView {
|
||||||
//class ScopeEditor: SideButtonTextView {
|
constructor(context: Context) : super(context)
|
||||||
// constructor(context: Context) : super(context)
|
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
|
||||||
// constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
|
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
|
||||||
// constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
|
context,
|
||||||
// context,
|
attrs,
|
||||||
// attrs,
|
defStyleAttr
|
||||||
// defStyleAttr
|
)
|
||||||
// )
|
var titleArray : Array<String>? = null
|
||||||
// var titleArray : Array<String>? = null
|
set(value) {
|
||||||
// set(value) {
|
if(value != null && value.size < 1) {
|
||||||
// if(value != null && value.size < 1) {
|
Error("titleArray는 최소 한개 이상이여야됨.")
|
||||||
// Error("titleArray는 최소 한개 이상이여야됨.")
|
return
|
||||||
// return
|
}
|
||||||
// }
|
field = value
|
||||||
// field = value
|
maxValue = field!!.size
|
||||||
// maxValue = field!!.size
|
}
|
||||||
// }
|
|
||||||
//
|
var maxValue : Int = 1
|
||||||
// var maxValue : Int = 1
|
set(value) {
|
||||||
// set(value) {
|
if (value < 1) {
|
||||||
// if (value < 1) {
|
Error("maxValue는 무조건 0보다 커야하눈뎅....")
|
||||||
// Error("maxValue는 무조건 0보다 커야하눈뎅....")
|
return
|
||||||
// return
|
}
|
||||||
// }
|
field = value
|
||||||
// field = value
|
}
|
||||||
// }
|
|
||||||
//
|
override var value : Int = 14
|
||||||
// override var value : Int = 14
|
set(newValue) {
|
||||||
// set(newValue) {
|
field = newValue
|
||||||
// field = newValue
|
text_value?.text = displayFormat.format(titleArray?.get(field) ?:"defulat")
|
||||||
// text_value.text = displayFormat.format(titleArray?.get(field) ?:"defulat")
|
mValueChange?.invoke(field)
|
||||||
// mValueChange?.invoke(field)
|
}
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
constructor(
|
||||||
// constructor(
|
context: Context,
|
||||||
// context: Context,
|
attrs: AttributeSet?,
|
||||||
// attrs: AttributeSet?,
|
defStyleAttr: Int,
|
||||||
// defStyleAttr: Int,
|
defStyleRes: Int
|
||||||
// defStyleRes: Int
|
) : super(context, attrs, defStyleAttr, defStyleRes)
|
||||||
// ) : super(context, attrs, defStyleAttr, defStyleRes)
|
|
||||||
//
|
|
||||||
// init {
|
|
||||||
|
init {
|
||||||
|
// super.i
|
||||||
// inflate(context, R.layout.layout_steps_editor,this)
|
// inflate(context, R.layout.layout_steps_editor,this)
|
||||||
// btn_decrement.setOnClickListener { value = Math.abs(value.dec()).rem(maxValue) }
|
btn_decrement?.setOnClickListener { value = Math.abs(value.dec()).rem(maxValue) }
|
||||||
// btn_increment.setOnClickListener { value = value.inc().rem(maxValue) }
|
btn_increment?.setOnClickListener { value = value.inc().rem(maxValue) }
|
||||||
// leftButtonTitle = "<"
|
leftButtonTitle = "<"
|
||||||
// rightButtonTitle = ">"
|
rightButtonTitle = ">"
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//}
|
}
|
||||||
@ -1,70 +1,78 @@
|
|||||||
//package com.mime.dualscreenview.view
|
package com.mime.dualscreenview.view
|
||||||
//
|
|
||||||
//import android.content.Context
|
import android.content.Context
|
||||||
//import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
//import androidx.constraintlayout.widget.ConstraintLayout
|
import android.widget.Button
|
||||||
//import com.mime.dualscreenview.R
|
import android.widget.TextView
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.btn_decrement
|
import androidx.appcompat.widget.AppCompatButton
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.btn_increment
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.text_value
|
import com.mime.dualscreenview.R
|
||||||
//import java.lang.Exception
|
|
||||||
//
|
import java.lang.Exception
|
||||||
//open class SideButtonTextView : ConstraintLayout {
|
|
||||||
// constructor(context: Context) : super(context)
|
open class SideButtonTextView : ConstraintLayout {
|
||||||
// constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
|
constructor(context: Context) : super(context)
|
||||||
// constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
|
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
|
||||||
// context,
|
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
|
||||||
// attrs,
|
context,
|
||||||
// defStyleAttr
|
attrs,
|
||||||
// )
|
defStyleAttr
|
||||||
//
|
)
|
||||||
// constructor(
|
|
||||||
// context: Context,
|
constructor(
|
||||||
// attrs: AttributeSet?,
|
context: Context,
|
||||||
// defStyleAttr: Int,
|
attrs: AttributeSet?,
|
||||||
// defStyleRes: Int
|
defStyleAttr: Int,
|
||||||
// ) : super(context, attrs, defStyleAttr, defStyleRes)
|
defStyleRes: Int
|
||||||
//
|
) : super(context, attrs, defStyleAttr, defStyleRes)
|
||||||
// var leftButtonTitle : String = ""
|
|
||||||
// set(value) {
|
var leftButtonTitle : String = ""
|
||||||
// field = value
|
set(value) {
|
||||||
// btn_decrement.text = field
|
field = value
|
||||||
// }
|
btn_decrement?.text = field
|
||||||
//
|
}
|
||||||
// var rightButtonTitle : String = ""
|
|
||||||
// set(value) {
|
var rightButtonTitle : String = ""
|
||||||
// field = value
|
set(value) {
|
||||||
// btn_increment.text = field
|
field = value
|
||||||
// }
|
btn_increment?.text = field
|
||||||
//
|
}
|
||||||
// open var value : Int = 14
|
|
||||||
// set(newValue) {
|
open var value : Int = 14
|
||||||
// field = newValue
|
set(newValue) {
|
||||||
// text_value.text = displayFormat.format(field)
|
field = newValue
|
||||||
// mValueChange?.invoke(field)
|
text_value?.text = displayFormat.format(field)
|
||||||
// }
|
mValueChange?.invoke(field)
|
||||||
//
|
}
|
||||||
// var displayFormat = "글자 크기 : %d"
|
|
||||||
// set(newValue) {
|
var displayFormat = "글자 크기 : %d"
|
||||||
// field = newValue
|
set(newValue) {
|
||||||
// try {
|
field = newValue
|
||||||
// text_value.text = displayFormat.format(value)
|
try {
|
||||||
// } catch (e : Exception) {
|
text_value?.text = displayFormat.format(value)
|
||||||
//
|
} catch (e : Exception) {
|
||||||
// }
|
|
||||||
// }
|
}
|
||||||
//
|
}
|
||||||
// var mValueChange : ValueChange? = null
|
|
||||||
// set(newValue) {
|
var mValueChange : ValueChange? = null
|
||||||
// field = newValue
|
set(newValue) {
|
||||||
// if (newValue != null) {
|
field = newValue
|
||||||
// newValue(value)
|
if (newValue != null) {
|
||||||
// }
|
newValue(value)
|
||||||
// }
|
}
|
||||||
//
|
}
|
||||||
// init {
|
|
||||||
//// inflate(context, R.layout.layout_steps_editor,this)
|
var btn_decrement : AppCompatButton? = null
|
||||||
//// btn_decrement.setOnClickListener { value = value.dec() }
|
var btn_increment : AppCompatButton? = null
|
||||||
//// btn_increment.setOnClickListener { value = value.inc() }
|
var text_value : TextView? = null
|
||||||
// }
|
|
||||||
//}
|
init {
|
||||||
|
inflate(context, R.layout.layout_steps_editor,this)
|
||||||
|
btn_increment = findViewById(R.id.btn_increment)
|
||||||
|
btn_decrement = findViewById(R.id.btn_decrement)
|
||||||
|
text_value = findViewById(R.id.text_value)
|
||||||
|
btn_decrement?.setOnClickListener { value = value.dec() }
|
||||||
|
btn_increment?.setOnClickListener { value = value.inc() }
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,37 +1,32 @@
|
|||||||
//package com.mime.dualscreenview.view
|
package com.mime.dualscreenview.view
|
||||||
//
|
|
||||||
//import android.content.Context
|
import android.content.Context
|
||||||
//import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
//import androidx.constraintlayout.widget.ConstraintLayout
|
import com.mime.dualscreenview.R
|
||||||
//import com.mime.dualscreenview.R
|
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.btn_decrement
|
typealias ValueChange = (Int)->Unit
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.btn_increment
|
|
||||||
//import kotlinx.android.synthetic.main.layout_steps_editor.view.text_value
|
class StepsEditor : SideButtonTextView {
|
||||||
//import java.lang.Exception
|
constructor(context: Context) : super(context)
|
||||||
//
|
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
|
||||||
//typealias ValueChange = (Int)->Unit
|
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
|
||||||
//
|
context,
|
||||||
//class StepsEditor : SideButtonTextView {
|
attrs,
|
||||||
// constructor(context: Context) : super(context)
|
defStyleAttr
|
||||||
// constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
|
)
|
||||||
// constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
|
|
||||||
// context,
|
constructor(
|
||||||
// attrs,
|
context: Context,
|
||||||
// defStyleAttr
|
attrs: AttributeSet?,
|
||||||
// )
|
defStyleAttr: Int,
|
||||||
//
|
defStyleRes: Int
|
||||||
// constructor(
|
) : super(context, attrs, defStyleAttr, defStyleRes)
|
||||||
// context: Context,
|
|
||||||
// attrs: AttributeSet?,
|
init {
|
||||||
// defStyleAttr: Int,
|
|
||||||
// defStyleRes: Int
|
|
||||||
// ) : super(context, attrs, defStyleAttr, defStyleRes)
|
|
||||||
//
|
|
||||||
// init {
|
|
||||||
// inflate(context, R.layout.layout_steps_editor,this)
|
// inflate(context, R.layout.layout_steps_editor,this)
|
||||||
// btn_decrement.setOnClickListener { value = value.dec() }
|
btn_decrement?.setOnClickListener { value = value.dec() }
|
||||||
// btn_increment.setOnClickListener { value = value.inc() }
|
btn_increment?.setOnClickListener { value = value.inc() }
|
||||||
// leftButtonTitle = "-"
|
leftButtonTitle = "-"
|
||||||
// rightButtonTitle = "+"
|
rightButtonTitle = "+"
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
9
app/src/main/res/drawable/angle_left.xml
Normal file
9
app/src/main/res/drawable/angle_left.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="512dp"
|
||||||
|
android:height="512dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M17.921,1.505a1.5,1.5 0,0 1,-0.44 1.06L9.809,10.237a2.5,2.5 0,0 0,0 3.536l7.662,7.662a1.5,1.5 0,0 1,-2.121 2.121L7.688,15.9a5.506,5.506 0,0 1,0 -7.779L15.36,0.444a1.5,1.5 0,0 1,2.561 1.061Z"/>
|
||||||
|
</vector>
|
||||||
9
app/src/main/res/drawable/angle_right.xml
Normal file
9
app/src/main/res/drawable/angle_right.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="512dp"
|
||||||
|
android:height="512dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M6.079,22.5a1.5,1.5 0,0 1,0.44 -1.06l7.672,-7.672a2.5,2.5 0,0 0,0 -3.536L6.529,2.565A1.5,1.5 0,0 1,8.65 0.444l7.662,7.661a5.506,5.506 0,0 1,0 7.779L8.64,23.556A1.5,1.5 0,0 1,6.079 22.5Z"/>
|
||||||
|
</vector>
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.7 KiB |
9
app/src/main/res/drawable/bookmark.xml
Normal file
9
app/src/main/res/drawable/bookmark.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="512dp"
|
||||||
|
android:height="512dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M2.849,23.55a2.954,2.954 0,0 0,3.266 -0.644L12,17.053l5.885,5.853a2.956,2.956 0,0 0,2.1 0.881,3.05 3.05,0 0,0 1.17,-0.237A2.953,2.953 0,0 0,23 20.779V5a5.006,5.006 0,0 0,-5 -5H6A5.006,5.006 0,0 0,1 5V20.779A2.953,2.953 0,0 0,2.849 23.55Z"/>
|
||||||
|
</vector>
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.5 KiB |
15
app/src/main/res/drawable/home.xml
Normal file
15
app/src/main/res/drawable/home.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="512dp"
|
||||||
|
android:height="512dp"
|
||||||
|
android:viewportWidth="512"
|
||||||
|
android:viewportHeight="512">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M256,319.84c-35.35,0 -64,28.65 -64,64v128h128v-128C320,348.49 291.35,319.84 256,319.84z"/>
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M362.67,383.84v128H448c35.35,0 64,-28.65 64,-64V253.26c0,-11.08 -4.3,-21.73 -12.01,-29.7l-181.29,-195.99c-31.99,-34.61 -85.98,-36.74 -120.59,-4.75c-1.64,1.52 -3.23,3.1 -4.75,4.75L12.4,223.5C4.45,231.5 -0,242.31 0,253.58v194.26c0,35.35 28.65,64 64,64h85.33v-128c0.4,-58.17 47.37,-105.68 104.07,-107.04C312.01,275.38 362.22,323.7 362.67,383.84z"/>
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M256,319.84c-35.35,0 -64,28.65 -64,64v128h128v-128C320,348.49 291.35,319.84 256,319.84z"/>
|
||||||
|
</vector>
|
||||||
15
app/src/main/res/drawable/saved.xml
Normal file
15
app/src/main/res/drawable/saved.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="512dp"
|
||||||
|
android:height="512dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M22.713,4.077A2.993,2.993 0,0 0,20.41 3H4.242L4.2,2.649A3,3 0,0 0,1.222 0H1A1,1 0,0 0,1 2h0.222a1,1 0,0 1,0.993 0.883l1.376,11.7A5,5 0,0 0,8.557 19H19a1,1 0,0 0,0 -2H8.557a3,3 0,0 1,-2.82 -2h11.92a5,5 0,0 0,4.921 -4.113l0.785,-4.354A2.994,2.994 0,0 0,22.713 4.077Z"/>
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M7,22m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/>
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M17,22m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/>
|
||||||
|
</vector>
|
||||||
9
app/src/main/res/drawable/settings.xml
Normal file
9
app/src/main/res/drawable/settings.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="512dp"
|
||||||
|
android:height="512dp"
|
||||||
|
android:viewportWidth="512"
|
||||||
|
android:viewportHeight="512">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFFFF"
|
||||||
|
android:pathData="M34.28,384c17.65,30.63 56.78,41.15 87.4,23.5c0.02,-0.01 0.04,-0.02 0.06,-0.04l9.49,-5.48c17.92,15.33 38.52,27.22 60.76,35.07V448c0,35.35 28.65,64 64,64s64,-28.65 64,-64v-10.94c22.24,-7.86 42.84,-19.77 60.76,-35.12l9.54,5.5c30.63,17.67 69.79,7.17 87.47,-23.47c17.67,-30.63 7.17,-69.79 -23.47,-87.47l0,0l-9.47,-5.46c4.26,-23.2 4.26,-46.99 0,-70.19l9.47,-5.46c30.63,-17.67 41.14,-56.83 23.47,-87.47c-17.67,-30.63 -56.83,-41.14 -87.47,-23.47l-9.49,5.48C362.86,94.64 342.25,82.77 320,74.94V64c0,-35.35 -28.65,-64 -64,-64s-64,28.65 -64,64v10.94c-22.24,7.86 -42.84,19.77 -60.76,35.12l-9.54,-5.53C91.07,86.86 51.91,97.37 34.24,128s-7.17,69.79 23.47,87.47l0,0l9.47,5.46c-4.26,23.2 -4.26,46.99 0,70.19l-9.47,5.46C27.16,314.3 16.69,353.38 34.28,384zM256,170.67c47.13,0 85.33,38.21 85.33,85.33S303.13,341.33 256,341.33S170.67,303.13 170.67,256S208.87,170.67 256,170.67z"/>
|
||||||
|
</vector>
|
||||||
@ -17,6 +17,8 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<WebView
|
<WebView
|
||||||
android:id="@+id/menu_web"
|
android:id="@+id/menu_web"
|
||||||
android:layout_margin="20dp"
|
android:layout_margin="20dp"
|
||||||
@ -30,17 +32,16 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<ImageButton
|
<androidx.constraintlayout.utils.widget.ImageFilterButton
|
||||||
android:id="@+id/btn_home"
|
android:id="@+id/btn_home"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/main_top_height"
|
android:layout_height="@dimen/main_top_height"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerInside"
|
android:scaleType="fitCenter"
|
||||||
android:background="#8FFF"
|
|
||||||
android:src="@drawable/home"
|
android:src="@drawable/home"
|
||||||
app:layout_constraintRight_toLeftOf="@id/textview_title"
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
tools:ignore="MissingConstraints" />
|
tools:ignore="MissingConstraints" />
|
||||||
|
|
||||||
|
|
||||||
@ -49,86 +50,95 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/main_top_height"
|
android:layout_height="@dimen/main_top_height"
|
||||||
android:text="@string/app_name"
|
android:text="@string/app_name"
|
||||||
android:background="@color/black"
|
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textSize="24sp"
|
android:textSize="24sp"
|
||||||
app:layout_constraintRight_toLeftOf="@id/btn_list"
|
app:layout_constraintRight_toLeftOf="@id/btn_list"
|
||||||
app:layout_constraintLeft_toRightOf="@id/btn_home"
|
app:layout_constraintLeft_toRightOf="@id/btn_home"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<ImageButton
|
<androidx.constraintlayout.utils.widget.ImageFilterButton
|
||||||
|
android:background="@android:color/transparent"
|
||||||
android:id="@+id/btn_list"
|
android:id="@+id/btn_list"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/main_top_height"
|
android:layout_height="@dimen/main_top_height"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerInside"
|
android:scaleType="centerInside"
|
||||||
android:background="#8FFF"
|
android:src="@drawable/bookmark"
|
||||||
android:src="@drawable/invoice"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintLeft_toRightOf="@id/textview_title"
|
app:layout_constraintLeft_toRightOf="@id/textview_title"
|
||||||
app:layout_constraintRight_toLeftOf="@+id/btn_rotate"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<ImageButton
|
|
||||||
android:id="@+id/btn_rotate"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="@dimen/main_top_height"
|
|
||||||
android:adjustViewBounds="true"
|
|
||||||
android:scaleType="centerInside"
|
|
||||||
android:src="@drawable/rotation"
|
|
||||||
android:background="#8FFF"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintLeft_toRightOf="@id/btn_list"
|
|
||||||
app:layout_constraintRight_toLeftOf="@+id/btn_history"
|
app:layout_constraintRight_toLeftOf="@+id/btn_history"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<ImageButton
|
<!-- <androidx.constraintlayout.utils.widget.ImageFilterButton-->
|
||||||
|
<!-- android:id="@+id/btn_rotate"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="@dimen/main_top_height"-->
|
||||||
|
<!-- android:adjustViewBounds="true"-->
|
||||||
|
<!-- android:scaleType="centerInside"-->
|
||||||
|
<!-- android:visibility="gone"-->
|
||||||
|
<!-- android:src="@drawable/rotation"-->
|
||||||
|
<!-- android:background="#8FFF"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- app:layout_constraintLeft_toRightOf="@id/btn_list"-->
|
||||||
|
<!-- app:layout_constraintRight_toLeftOf="@+id/btn_history"-->
|
||||||
|
<!-- app:layout_constraintHorizontal_chainStyle="spread_inside"-->
|
||||||
|
<!-- />-->
|
||||||
|
|
||||||
|
<androidx.constraintlayout.utils.widget.ImageFilterButton
|
||||||
android:id="@+id/btn_history"
|
android:id="@+id/btn_history"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/main_top_height"
|
android:layout_height="@dimen/main_top_height"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerInside"
|
android:scaleType="fitCenter"
|
||||||
android:background="#8FFF"
|
android:src="@drawable/saved"
|
||||||
android:src="@drawable/history"
|
android:background="@android:color/transparent"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
app:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatButton
|
<androidx.constraintlayout.utils.widget.ImageFilterButton
|
||||||
android:id="@+id/btn_left"
|
android:id="@+id/btn_left"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
android:layout_height="@dimen/main_top_height"
|
android:layout_height="@dimen/main_top_height"
|
||||||
android:tag="1"
|
android:tag="1"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
|
||||||
android:text="@string/display_the_second_screen"
|
android:text="@string/display_the_second_screen"
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
android:background="@color/black"
|
android:src="@drawable/angle_left"
|
||||||
app:layout_constraintLeft_toLeftOf="parent"
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="spread"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<ImageButton
|
<androidx.constraintlayout.utils.widget.ImageFilterButton
|
||||||
android:id="@+id/btn_setting"
|
android:id="@+id/btn_setting"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
|
android:src="@drawable/settings"
|
||||||
android:layout_height="@dimen/main_top_height"
|
android:layout_height="@dimen/main_top_height"
|
||||||
android:background="@color/black"
|
android:scaleType="fitCenter"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintLeft_toRightOf="@+id/btn_left"
|
app:layout_constraintLeft_toRightOf="@+id/btn_left"
|
||||||
app:layout_constraintRight_toLeftOf="@+id/btn_right"
|
app:layout_constraintRight_toLeftOf="@+id/btn_right"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="spread"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatButton
|
<androidx.constraintlayout.utils.widget.ImageFilterButton
|
||||||
android:id="@+id/btn_right"
|
android:id="@+id/btn_right"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/main_top_height"
|
android:layout_height="@dimen/main_top_height"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:tag="0"
|
android:tag="0"
|
||||||
android:text="@string/display_the_second_screen"
|
android:background="@android:color/transparent"
|
||||||
android:background="@color/black"
|
android:src="@drawable/angle_right"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
@ -141,8 +151,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="invisible"
|
android:visibility="gone"
|
||||||
android:background="@color/black"
|
|
||||||
android:elevation="5dp"
|
android:elevation="5dp"
|
||||||
app:layout_constraintLeft_toLeftOf="parent"
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
@ -7,7 +7,7 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_margin="15dp"
|
android:layout_margin="5dp"
|
||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
@ -15,7 +15,6 @@
|
|||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
<com.mime.dualscreenview.view.PagedTextView
|
<com.mime.dualscreenview.view.PagedTextView
|
||||||
android:layout_margin="5dp"
|
android:layout_margin="5dp"
|
||||||
android:padding="2dp"
|
|
||||||
android:id="@+id/hidden_view"
|
android:id="@+id/hidden_view"
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@ -26,8 +25,8 @@
|
|||||||
android:layout_height="match_parent"/>
|
android:layout_height="match_parent"/>
|
||||||
<View
|
<View
|
||||||
android:id="@+id/demp"
|
android:id="@+id/demp"
|
||||||
|
android:visibility="gone"
|
||||||
android:layout_margin="5dp"
|
android:layout_margin="5dp"
|
||||||
android:padding="2dp"
|
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"/>
|
android:layout_height="match_parent"/>
|
||||||
@ -42,7 +41,6 @@
|
|||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:layout_margin="5dp"
|
android:layout_margin="5dp"
|
||||||
android:padding="2dp"
|
|
||||||
android:gravity="start"
|
android:gravity="start"
|
||||||
android:includeFontPadding="false"
|
android:includeFontPadding="false"
|
||||||
android:id="@+id/first_view"
|
android:id="@+id/first_view"
|
||||||
@ -54,11 +52,10 @@
|
|||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:layout_margin="5dp"
|
android:layout_margin="5dp"
|
||||||
android:padding="2dp"
|
|
||||||
android:gravity="start"
|
android:gravity="start"
|
||||||
android:includeFontPadding="false"
|
android:includeFontPadding="false"
|
||||||
android:lineSpacingExtra="0dp"
|
android:lineSpacingExtra="0dp"
|
||||||
android:visibility="visible"
|
android:visibility="gone"
|
||||||
android:id="@+id/sencond_view"
|
android:id="@+id/sencond_view"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
@ -66,9 +63,15 @@
|
|||||||
android:layout_height="match_parent"/>
|
android:layout_height="match_parent"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/current_page"
|
android:id="@+id/current_chapter"
|
||||||
android:layout_alignParentRight="true"
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
android:layout_alignParentBottom="true"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_height="wrap_content"/>
|
||||||
</RelativeLayout>
|
<TextView
|
||||||
|
android:id="@+id/current_page"
|
||||||
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@ -1,55 +1,63 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layout>
|
||||||
|
<data>
|
||||||
|
|
||||||
|
</data>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<!-- <androidx.constraintlayout.widget.Guideline-->
|
<androidx.constraintlayout.widget.Guideline
|
||||||
<!-- android:id="@+id/vertical_guide"-->
|
android:id="@+id/vertical_guide"
|
||||||
<!-- android:orientation="horizontal"-->
|
android:orientation="horizontal"
|
||||||
<!-- app:layout_constraintGuide_percent="0.5"-->
|
app:layout_constraintGuide_percent="0.5"
|
||||||
<!-- android:layout_width="wrap_content"-->
|
android:layout_width="wrap_content"
|
||||||
<!-- android:layout_height="wrap_content"/>-->
|
android:layout_height="wrap_content"/>
|
||||||
<!-- <androidx.appcompat.widget.AppCompatTextView-->
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
<!-- app:layout_constraintLeft_toLeftOf="parent"-->
|
android:layout_margin="5dp"
|
||||||
<!-- app:layout_constraintRight_toRightOf="parent"-->
|
android:includeFontPadding="false"
|
||||||
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
android:lineSpacingExtra="0dp"
|
||||||
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
<!-- android:id="@+id/preview"-->
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
<!-- android:text="@string/preview_text"-->
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
<!-- android:layout_width="0dp"-->
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
<!-- android:layout_height="0dp"/>-->
|
android:id="@+id/preview"
|
||||||
<!-- <ScrollView-->
|
android:text="@string/preview_text"
|
||||||
<!-- android:id="@+id/config_setting"-->
|
android:layout_width="0dp"
|
||||||
<!-- android:background="#99444444"-->
|
android:layout_height="0dp"/>
|
||||||
<!-- app:layout_constraintLeft_toLeftOf="parent"-->
|
<ScrollView
|
||||||
<!-- app:layout_constraintRight_toRightOf="parent"-->
|
android:id="@+id/config_setting"
|
||||||
<!-- app:layout_constraintTop_toTopOf="@id/vertical_guide"-->
|
android:background="#99444444"
|
||||||
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
<!-- android:layout_width="0dp"-->
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
<!-- android:layout_height="0dp">-->
|
app:layout_constraintTop_toTopOf="@id/vertical_guide"
|
||||||
<!-- <LinearLayout-->
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
<!-- android:orientation="vertical"-->
|
android:layout_width="0dp"
|
||||||
<!-- android:layout_width="match_parent"-->
|
android:layout_height="0dp">
|
||||||
<!-- android:layout_height="wrap_content">-->
|
<LinearLayout
|
||||||
<!-- <include layout="@layout/item_setting_title"/>-->
|
android:orientation="vertical"
|
||||||
<!-- <com.mime.dualscreenview.view.StepsEditor-->
|
android:layout_width="match_parent"
|
||||||
<!-- android:id="@+id/text_size"-->
|
android:layout_height="wrap_content">
|
||||||
<!-- style="@style/StepsEditorStyle" />-->
|
<include layout="@layout/item_setting_title"/>
|
||||||
<!-- <com.mime.dualscreenview.view.StepsEditor-->
|
<com.mime.dualscreenview.view.StepsEditor
|
||||||
<!-- android:id="@+id/letter_space"-->
|
android:id="@+id/text_size"
|
||||||
<!-- style="@style/StepsEditorStyle" />-->
|
style="@style/StepsEditorStyle" />
|
||||||
<!-- <com.mime.dualscreenview.view.StepsEditor-->
|
<com.mime.dualscreenview.view.StepsEditor
|
||||||
<!-- android:id="@+id/line_space"-->
|
android:id="@+id/letter_space"
|
||||||
<!-- style="@style/StepsEditorStyle" />-->
|
style="@style/StepsEditorStyle" />
|
||||||
<!-- <com.mime.dualscreenview.view.StepsEditor-->
|
<com.mime.dualscreenview.view.StepsEditor
|
||||||
<!-- android:id="@+id/page_padding"-->
|
android:id="@+id/line_space"
|
||||||
<!-- style="@style/StepsEditorStyle" />-->
|
style="@style/StepsEditorStyle" />
|
||||||
<!-- <com.mime.dualscreenview.view.ScopeEditor-->
|
<com.mime.dualscreenview.view.StepsEditor
|
||||||
<!-- android:id="@+id/page_typesface"-->
|
android:id="@+id/page_padding"
|
||||||
<!-- style="@style/StepsEditorStyle" />-->
|
style="@style/StepsEditorStyle" />
|
||||||
<!-- <com.mime.dualscreenview.view.ScopeEditor-->
|
<com.mime.dualscreenview.view.ScopeEditor
|
||||||
<!-- android:id="@+id/page_style"-->
|
android:id="@+id/page_typesface"
|
||||||
<!-- style="@style/StepsEditorStyle" />-->
|
style="@style/StepsEditorStyle" />
|
||||||
<!-- </LinearLayout>-->
|
<com.mime.dualscreenview.view.ScopeEditor
|
||||||
<!-- </ScrollView>-->
|
android:id="@+id/page_style"
|
||||||
|
style="@style/StepsEditorStyle" />
|
||||||
|
</LinearLayout>
|
||||||
|
</ScrollView>
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</layout>
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<dimen name="main_top_height">35dp</dimen>
|
<dimen name="main_top_height">40dp</dimen>
|
||||||
<dimen name="textview_padding">15dp</dimen>
|
<dimen name="textview_padding">15dp</dimen>
|
||||||
<dimen name="setting_item_height">45dp</dimen>
|
<dimen name="setting_item_height">45dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
@ -1,29 +1,29 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">DualScreenView</string>
|
<string name="app_name">Bum\'s App</string>
|
||||||
<string name="display_the_second_screen">화면 옮 기 기</string>
|
<string name="display_the_second_screen">화면 옮 기 기</string>
|
||||||
<string name="main_desc">it\'s 두번째화면</string>
|
<string name="main_desc">it\'s 두번째화면</string>
|
||||||
<string name="preview_text"><![CDATA[여섯글자마다 방점을찍어놔가사관찰하다 반쯤놓치거나해석잘안되면 몇번돌리든가이건이를테면 덤비는리듬과손묶인채붙는 일종의노름판\n신도구제불능 내가물오른밤감방에날가둬 내가패를까도가난한니네가 판돈잃지않게나하고니네가 의견일치한게아마처음일걸 그마저운일걸\n존나좋음이퀄 내중저음일걸이배열어쩌면 너에대한배려너에겐어쩌면 언어적배리어그럼넌글렀어 지망생여기에잠들다글로써 훗날니묘비에\n\nFor sale my rhymes never usedFor sale my rhymes never used판매자바로너 니가씨발오너For sale my rhymes never used\n\n노예처럼일해서왕처럼지배성탄처럼지내설탕뿌려위에성공을말했기에난그길위에선딱그어이젠자봐주의깊게\n멈칫할시간도없는듯써내려활자로활짝갠곳에돈비내려초라한핀조명과낮은무대위목표를조준하기에충분했지\n시인의신이될준비는치밀해흘러군침이계속이기기위해처음시작했던이유따윈잊어\n맨발맨손으로역사들을빚어미안해난비션갖고와내기적자음모음이어리듬위에띄어금은보화이쁜걸로손에끼워\n\nUh she suckin\' my soul likeDe La to the SoulI shout out to the RhondaBut before I\'m sober\n변태는 변태인데 underground 모범생맨날 난 오덕 돼 활자에 꼬여내 팔자도 고쳐낼 하나의 초월체를만들려 고쳐댄 rhyme들만 몇 truck 돼\n그러다 깨어나 여기에빼어난 묘기에 없네 기본기내 눈엔 수명이 대본처럼 읽히네뭐처럼 비치네 뭐처럼 비치네\nFuck all of ya list manIf it ain\'t Forbes list mayneYour wristwatch cheaper thanMy profile picture damn\nPicture the future and믿어 like it\'s happendBig ass house foreign cars have several\n미녀 fine ass apple hip 내 옆에 같이 태우고Top of the top으로 가 죽어야 들어 잠은넌 안 죽었다는 척갖은 폼 잡으면 뭐하냐\n좆밥들 또 반년만 가면 쏙다 들어가는 거 다 보여내 눈엔 너가 금방 죽어다음 무덤 안 들어갈 주검한 우물 파는 넌 밟고서땅을 쳐봐 내 발자국을\n]]></string>
|
<string name="preview_text"><![CDATA[여섯글자마다 방점을찍어놔가사관찰하다 반쯤놓치거나해석잘안되면 몇번돌리든가이건이를테면 덤비는리듬과손묶인채붙는 일종의노름판\n신도구제불능 내가물오른밤감방에날가둬 내가패를까도가난한니네가 판돈잃지않게나하고니네가 의견일치한게아마처음일걸 그마저운일걸\n존나좋음이퀄 내중저음일걸이배열어쩌면 너에대한배려너에겐어쩌면 언어적배리어그럼넌글렀어 지망생여기에잠들다글로써 훗날니묘비에\n\nFor sale my rhymes never usedFor sale my rhymes never used판매자바로너 니가씨발오너For sale my rhymes never used\n\n노예처럼일해서왕처럼지배성탄처럼지내설탕뿌려위에성공을말했기에난그길위에선딱그어이젠자봐주의깊게\n멈칫할시간도없는듯써내려활자로활짝갠곳에돈비내려초라한핀조명과낮은무대위목표를조준하기에충분했지\n시인의신이될준비는치밀해흘러군침이계속이기기위해처음시작했던이유따윈잊어\n맨발맨손으로역사들을빚어미안해난비션갖고와내기적자음모음이어리듬위에띄어금은보화이쁜걸로손에끼워\n\nUh she suckin\' my soul likeDe La to the SoulI shout out to the RhondaBut before I\'m sober\n변태는 변태인데 underground 모범생맨날 난 오덕 돼 활자에 꼬여내 팔자도 고쳐낼 하나의 초월체를만들려 고쳐댄 rhyme들만 몇 truck 돼\n그러다 깨어나 여기에빼어난 묘기에 없네 기본기내 눈엔 수명이 대본처럼 읽히네뭐처럼 비치네 뭐처럼 비치네\nFuck all of ya list manIf it ain\'t Forbes list mayneYour wristwatch cheaper thanMy profile picture damn\nPicture the future and믿어 like it\'s happendBig ass house foreign cars have several\n미녀 fine ass apple hip 내 옆에 같이 태우고Top of the top으로 가 죽어야 들어 잠은넌 안 죽었다는 척갖은 폼 잡으면 뭐하냐\n좆밥들 또 반년만 가면 쏙다 들어가는 거 다 보여내 눈엔 너가 금방 죽어다음 무덤 안 들어갈 주검한 우물 파는 넌 밟고서땅을 쳐봐 내 발자국을\n]]></string>
|
||||||
|
|
||||||
<string-array name="sample_textz">
|
<string-array name="sample_textz">
|
||||||
<item>여섯글자마다 방점을찍어놔
|
<item>여섯글자마다 방점을찍어놔
|
||||||
가사관찰하다 반쯤놓치거나
|
가사관찰하다 반쯤놓치거나
|
||||||
해석잘안되면 몇번돌리든가
|
해석잘안되면 몇번돌리든가
|
||||||
이건이를테면 덤비는리듬과
|
이건이를테면 덤비는리듬과
|
||||||
손묶인채붙는 일종의노름판</item>
|
손묶인채붙는 일종의노름판</item>
|
||||||
<item>신도구제불능 내가물오른밤
|
<item>신도구제불능 내가물오른밤
|
||||||
감방에날가둬 내가패를까도
|
감방에날가둬 내가패를까도
|
||||||
가난한니네가 판돈잃지않게
|
가난한니네가 판돈잃지않게
|
||||||
나하고니네가 의견일치한게
|
나하고니네가 의견일치한게
|
||||||
아마처음일걸 그마저운일걸</item>
|
아마처음일걸 그마저운일걸</item>
|
||||||
<item>존나좋음이퀄 내중저음일걸
|
<item>존나좋음이퀄 내중저음일걸
|
||||||
이배열어쩌면 너에대한배려
|
이배열어쩌면 너에대한배려
|
||||||
너에겐어쩌면 언어적배리어
|
너에겐어쩌면 언어적배리어
|
||||||
그럼넌글렀어 지망생여기에
|
그럼넌글렀어 지망생여기에
|
||||||
잠들다글로써 훗날니묘비에</item>
|
잠들다글로써 훗날니묘비에</item>
|
||||||
<item>For sale my rhymes never used
|
<item>For sale my rhymes never used
|
||||||
For sale my rhymes never used
|
For sale my rhymes never used
|
||||||
판매자바로너 니가씨발오너
|
판매자바로너 니가씨발오너
|
||||||
For sale my rhymes never used</item>
|
For sale my rhymes never used</item>
|
||||||
<item>노예처럼일해서왕처럼지배
|
<item>노예처럼일해서왕처럼지배
|
||||||
성탄처럼지내설탕뿌려위에
|
성탄처럼지내설탕뿌려위에
|
||||||
성공을말했기에난그길위에
|
성공을말했기에난그길위에
|
||||||
@ -39,34 +39,34 @@
|
|||||||
미안해난비션갖고와내기적
|
미안해난비션갖고와내기적
|
||||||
자음모음이어리듬위에띄어
|
자음모음이어리듬위에띄어
|
||||||
금은보화이쁜걸로손에끼워</item>
|
금은보화이쁜걸로손에끼워</item>
|
||||||
<item>Uh she suckin\' my soul like
|
<item>Uh she suckin\' my soul like
|
||||||
De La to the Soul
|
De La to the Soul
|
||||||
I shout out to the Rhonda
|
I shout out to the Rhonda
|
||||||
But before I\'m sober</item>
|
But before I\'m sober</item>
|
||||||
<item>변태는 변태인데 underground 모범생
|
<item>변태는 변태인데 underground 모범생
|
||||||
맨날 난 오덕 돼 활자에 꼬여
|
맨날 난 오덕 돼 활자에 꼬여
|
||||||
내 팔자도 고쳐낼 하나의 초월체를
|
내 팔자도 고쳐낼 하나의 초월체를
|
||||||
만들려 고쳐댄 rhyme들만 몇 truck 돼</item>
|
만들려 고쳐댄 rhyme들만 몇 truck 돼</item>
|
||||||
<item>그러다 깨어나 여기에
|
<item>그러다 깨어나 여기에
|
||||||
빼어난 묘기에 없네 기본기
|
빼어난 묘기에 없네 기본기
|
||||||
내 눈엔 수명이 대본처럼 읽히네
|
내 눈엔 수명이 대본처럼 읽히네
|
||||||
뭐처럼 비치네 뭐처럼 비치네</item>
|
뭐처럼 비치네 뭐처럼 비치네</item>
|
||||||
<item>Fuck all of ya list man
|
<item>Fuck all of ya list man
|
||||||
If it ain\'t Forbes list mayne
|
If it ain\'t Forbes list mayne
|
||||||
Your wristwatch cheaper than
|
Your wristwatch cheaper than
|
||||||
My profile picture damn</item>
|
My profile picture damn</item>
|
||||||
<item>Picture the future and
|
<item>Picture the future and
|
||||||
믿어 like it\'s happend
|
믿어 like it\'s happend
|
||||||
Big ass house foreign cars have several</item>
|
Big ass house foreign cars have several</item>
|
||||||
<item>미녀 fine ass apple hip 내 옆에 같이 태우고
|
<item>미녀 fine ass apple hip 내 옆에 같이 태우고
|
||||||
Top of the top으로 가 죽어야 들어 잠은
|
Top of the top으로 가 죽어야 들어 잠은
|
||||||
넌 안 죽었다는 척
|
넌 안 죽었다는 척
|
||||||
갖은 폼 잡으면 뭐하냐</item>
|
갖은 폼 잡으면 뭐하냐</item>
|
||||||
<item>좆밥들 또 반년만 가면 쏙
|
<item>좆밥들 또 반년만 가면 쏙
|
||||||
다 들어가는 거 다 보여
|
다 들어가는 거 다 보여
|
||||||
내 눈엔 너가 금방 죽어
|
내 눈엔 너가 금방 죽어
|
||||||
다음 무덤 안 들어갈 주검
|
다음 무덤 안 들어갈 주검
|
||||||
한 우물 파는 넌 밟고서
|
한 우물 파는 넌 밟고서
|
||||||
땅을 쳐봐 내 발자국을</item>
|
땅을 쳐봐 내 발자국을</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
</resources>
|
</resources>
|
||||||
Loading…
x
Reference in New Issue
Block a user