feat: 优化代码

pull/103/head
kunfei 5 years ago
parent 397317840d
commit 9a481af33d
  1. 31
      app/src/main/java/io/legado/app/lib/theme/view/ATEStrokeTextView.kt
  2. 15
      app/src/main/java/io/legado/app/lib/theme/view/ATETextInputLayout.kt
  3. 4
      app/src/main/java/io/legado/app/ui/widget/text/PrimaryTextView.kt
  4. 4
      app/src/main/java/io/legado/app/ui/widget/text/SecondaryTextView.kt
  5. 49
      app/src/main/java/io/legado/app/ui/widget/text/StrokeTextView.kt
  6. 18
      app/src/main/java/io/legado/app/ui/widget/text/TextInputLayout.kt
  7. 22
      app/src/main/res/layout/activity_book_info_edit.xml
  8. 2
      app/src/main/res/layout/activity_import_book.xml
  9. 8
      app/src/main/res/layout/dialog_page_key.xml
  10. 6
      app/src/main/res/layout/dialog_read_bg_text.xml
  11. 8
      app/src/main/res/layout/dialog_read_book_style.xml
  12. 20
      app/src/main/res/layout/dialog_replace_edit.xml
  13. 4
      app/src/main/res/layout/item_source_edit.xml

@ -1,31 +0,0 @@
package io.legado.app.lib.theme.view
import android.content.Context
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatTextView
import io.legado.app.R
import io.legado.app.lib.theme.Selector
import io.legado.app.lib.theme.ThemeStore
import io.legado.app.utils.dp
import io.legado.app.utils.getCompatColor
class ATEStrokeTextView(context: Context, attrs: AttributeSet) : AppCompatTextView(context, attrs) {
init {
background = Selector.shapeBuild()
.setCornerRadius(1.dp)
.setStrokeWidth(1.dp)
.setDisabledStrokeColor(context.getCompatColor(R.color.md_grey_500))
.setDefaultStrokeColor(ThemeStore.textColorSecondary(context))
.setSelectedStrokeColor(ThemeStore.accentColor(context))
.setPressedBgColor(context.getCompatColor(R.color.transparent30))
.create()
setTextColor(
Selector.colorBuild()
.setDefaultColor(ThemeStore.textColorSecondary(context))
.setSelectedColor(ThemeStore.accentColor(context))
.setDisabledColor(context.getCompatColor(R.color.md_grey_500))
.create()
)
}
}

@ -1,15 +0,0 @@
package io.legado.app.lib.theme.view
import android.content.Context
import android.util.AttributeSet
import com.google.android.material.textfield.TextInputLayout
import io.legado.app.lib.theme.Selector
import io.legado.app.lib.theme.ThemeStore
class ATETextInputLayout(context: Context, attrs: AttributeSet?) : TextInputLayout(context, attrs) {
init {
defaultHintTextColor = Selector.colorBuild().setDefaultColor(ThemeStore.accentColor(context)).create()
}
}

@ -1,4 +1,4 @@
package io.legado.app.lib.theme.view package io.legado.app.ui.widget.text
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -8,7 +8,7 @@ import io.legado.app.lib.theme.ThemeStore
/** /**
* @author Aidan Follestad (afollestad) * @author Aidan Follestad (afollestad)
*/ */
class ATEPrimaryTextView(context: Context, attrs: AttributeSet) : class PrimaryTextView(context: Context, attrs: AttributeSet) :
AppCompatTextView(context, attrs) { AppCompatTextView(context, attrs) {
init { init {

@ -1,4 +1,4 @@
package io.legado.app.lib.theme.view package io.legado.app.ui.widget.text
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -8,7 +8,7 @@ import io.legado.app.lib.theme.secondaryTextColor
/** /**
* @author Aidan Follestad (afollestad) * @author Aidan Follestad (afollestad)
*/ */
class ATESecondaryTextView(context: Context, attrs: AttributeSet) : class SecondaryTextView(context: Context, attrs: AttributeSet) :
AppCompatTextView(context, attrs) { AppCompatTextView(context, attrs) {
init { init {

@ -0,0 +1,49 @@
package io.legado.app.ui.widget.text
import android.content.Context
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatTextView
import io.legado.app.R
import io.legado.app.lib.theme.Selector
import io.legado.app.lib.theme.ThemeStore
import io.legado.app.utils.dp
import io.legado.app.utils.getCompatColor
class StrokeTextView(context: Context, attrs: AttributeSet) : AppCompatTextView(context, attrs) {
init {
if (isInEditMode) {
background = Selector.shapeBuild()
.setCornerRadius(1.dp)
.setStrokeWidth(1.dp)
.setDisabledStrokeColor(context.getCompatColor(R.color.md_grey_500))
.setDefaultStrokeColor(context.getCompatColor(R.color.tv_text_secondary))
.setSelectedStrokeColor(context.getCompatColor(R.color.colorAccent))
.setPressedBgColor(context.getCompatColor(R.color.transparent30))
.create()
setTextColor(
Selector.colorBuild()
.setDefaultColor(context.getCompatColor(R.color.tv_text_secondary))
.setSelectedColor(context.getCompatColor(R.color.colorAccent))
.setDisabledColor(context.getCompatColor(R.color.md_grey_500))
.create()
)
} else {
background = Selector.shapeBuild()
.setCornerRadius(1.dp)
.setStrokeWidth(1.dp)
.setDisabledStrokeColor(context.getCompatColor(R.color.md_grey_500))
.setDefaultStrokeColor(ThemeStore.textColorSecondary(context))
.setSelectedStrokeColor(ThemeStore.accentColor(context))
.setPressedBgColor(context.getCompatColor(R.color.transparent30))
.create()
setTextColor(
Selector.colorBuild()
.setDefaultColor(ThemeStore.textColorSecondary(context))
.setSelectedColor(ThemeStore.accentColor(context))
.setDisabledColor(context.getCompatColor(R.color.md_grey_500))
.create()
)
}
}
}

@ -0,0 +1,18 @@
package io.legado.app.ui.widget.text
import android.content.Context
import android.util.AttributeSet
import com.google.android.material.textfield.TextInputLayout
import io.legado.app.lib.theme.Selector
import io.legado.app.lib.theme.ThemeStore
class TextInputLayout(context: Context, attrs: AttributeSet?) : TextInputLayout(context, attrs) {
init {
if (!isInEditMode) {
defaultHintTextColor =
Selector.colorBuild().setDefaultColor(ThemeStore.accentColor(context)).create()
}
}
}

@ -42,7 +42,7 @@
android:orientation="vertical" android:orientation="vertical"
android:padding="5dp"> android:padding="5dp">
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_book_name" android:id="@+id/til_book_name"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -53,9 +53,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:singleLine="true" /> android:singleLine="true" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_book_author" android:id="@+id/til_book_author"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -66,12 +66,12 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:singleLine="true" /> android:singleLine="true" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_cover_url" android:id="@+id/til_cover_url"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -82,7 +82,7 @@
android:id="@+id/tie_cover_url" android:id="@+id/tie_cover_url"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -91,14 +91,14 @@
android:paddingStart="5dp" android:paddingStart="5dp"
android:paddingEnd="5dp"> android:paddingEnd="5dp">
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_select_cover" android:id="@+id/tv_select_cover"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="5dp" android:padding="5dp"
android:text="@string/select_local_image" /> android:text="@string/select_local_image" />
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_change_cover" android:id="@+id/tv_change_cover"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -107,7 +107,7 @@
android:text="@string/change_cover_source" android:text="@string/change_cover_source"
tools:ignore="RtlHardcoded" /> tools:ignore="RtlHardcoded" />
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_refresh_cover" android:id="@+id/tv_refresh_cover"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -118,7 +118,7 @@
</LinearLayout> </LinearLayout>
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_book_jj" android:id="@+id/til_book_jj"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -129,7 +129,7 @@
android:id="@+id/tie_book_intro" android:id="@+id/tie_book_intro"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

@ -34,7 +34,7 @@
android:focusable="true" android:focusable="true"
tools:text="/" /> tools:text="/" />
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_go_back" android:id="@+id/tv_go_back"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

@ -15,7 +15,7 @@
android:textStyle="bold" android:textStyle="bold"
android:text="@string/custom_page_key" /> android:text="@string/custom_page_key" />
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="5dp" android:layout_margin="5dp"
@ -28,9 +28,9 @@
android:inputType="number" android:inputType="number"
android:singleLine="true" /> android:singleLine="true" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="5dp" android:layout_margin="5dp"
@ -43,7 +43,7 @@
android:inputType="number" android:inputType="number"
android:singleLine="true" /> android:singleLine="true" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
<TextView <TextView
android:id="@+id/tv_ok" android:id="@+id/tv_ok"

@ -20,7 +20,7 @@
android:orientation="horizontal" android:orientation="horizontal"
android:padding="6dp"> android:padding="6dp">
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_text_color" android:id="@+id/tv_text_color"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -35,7 +35,7 @@
android:textSize="14sp" android:textSize="14sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_bg_color" android:id="@+id/tv_bg_color"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -50,7 +50,7 @@
android:textSize="14sp" android:textSize="14sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_default" android:id="@+id/tv_default"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"

@ -7,7 +7,7 @@
android:background="@color/background" android:background="@color/background"
android:padding="10dp"> android:padding="10dp">
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_text_bold" android:id="@+id/tv_text_bold"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -22,7 +22,7 @@
app:layout_constraintRight_toLeftOf="@+id/tv_text_font" app:layout_constraintRight_toLeftOf="@+id/tv_text_font"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_text_font" android:id="@+id/tv_text_font"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -37,7 +37,7 @@
app:layout_constraintRight_toLeftOf="@+id/tv_text_indent" app:layout_constraintRight_toLeftOf="@+id/tv_text_indent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_text_indent" android:id="@+id/tv_text_indent"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -52,7 +52,7 @@
app:layout_constraintRight_toLeftOf="@+id/tv_padding" app:layout_constraintRight_toLeftOf="@+id/tv_padding"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<io.legado.app.lib.theme.view.ATEStrokeTextView <io.legado.app.ui.widget.text.StrokeTextView
android:id="@+id/tv_padding" android:id="@+id/tv_padding"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

@ -24,7 +24,7 @@
android:orientation="vertical" android:orientation="vertical"
android:padding="10dp"> android:padding="10dp">
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_name" android:id="@+id/til_name"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -34,9 +34,9 @@
android:id="@+id/et_name" android:id="@+id/et_name"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_group" android:id="@+id/til_group"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -46,9 +46,9 @@
android:id="@+id/et_group" android:id="@+id/et_group"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_replace_rule" android:id="@+id/til_replace_rule"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -58,7 +58,7 @@
android:id="@+id/et_replace_rule" android:id="@+id/et_replace_rule"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
<io.legado.app.lib.theme.view.ATECheckBox <io.legado.app.lib.theme.view.ATECheckBox
android:id="@+id/cb_use_regex" android:id="@+id/cb_use_regex"
@ -66,7 +66,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/use_regex" /> android:text="@string/use_regex" />
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_replace_to" android:id="@+id/til_replace_to"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -76,9 +76,9 @@
android:id="@+id/et_replace_to" android:id="@+id/et_replace_to"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
<io.legado.app.lib.theme.view.ATETextInputLayout <io.legado.app.ui.widget.text.TextInputLayout
android:id="@+id/til_scope" android:id="@+id/til_scope"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -88,7 +88,7 @@
android:id="@+id/et_scope" android:id="@+id/et_scope"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<io.legado.app.lib.theme.view.ATETextInputLayout xmlns:android="http://schemas.android.com/apk/res/android" <io.legado.app.ui.widget.text.TextInputLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textInputLayout" android:id="@+id/textInputLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -9,4 +9,4 @@
android:id="@+id/editText" android:id="@+id/editText"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</io.legado.app.lib.theme.view.ATETextInputLayout> </io.legado.app.ui.widget.text.TextInputLayout>
Loading…
Cancel
Save