From b2914c87d36b0a3542f45173fd7626f7d3f6b2c6 Mon Sep 17 00:00:00 2001 From: Sungyong An Date: Mon, 27 Apr 2020 01:29:43 +0900 Subject: [PATCH] Library: Clean up themes and attributes Introduce 'Theme.Neumorph' like 'Theme.AppCompat'. --- .../java/soup/neumorphism/NeumorphButton.kt | 8 +-- .../java/soup/neumorphism/NeumorphCardView.kt | 4 +- .../java/soup/neumorphism/NeumorphEditText.kt | 8 +-- .../NeumorphFloatingActionButton.kt | 4 +- .../soup/neumorphism/NeumorphImageView.kt | 8 +-- .../java/soup/neumorphism/NeumorphTextView.kt | 4 +- .../main/res/values-night/themes_daynight.xml | 12 +++++ .../values-night/themes_daynight_bridge.xml | 10 ++++ neumorphism/src/main/res/values/attrs.xml | 6 +++ neumorphism/src/main/res/values/styles.xml | 50 +++++++++++++------ neumorphism/src/main/res/values/themes.xml | 26 ++++++++++ .../src/main/res/values/themes_base.xml | 36 +++++++++++++ .../main/res/values/themes_base_bridge.xml | 41 +++++++++++++++ .../src/main/res/values/themes_bridge.xml | 20 ++++++++ .../src/main/res/values/themes_daynight.xml | 12 +++++ .../res/values/themes_daynight_bridge.xml | 10 ++++ .../src/main/res/values/themes_overlay.xml | 32 ++++++++++++ 17 files changed, 259 insertions(+), 32 deletions(-) create mode 100644 neumorphism/src/main/res/values-night/themes_daynight.xml create mode 100644 neumorphism/src/main/res/values-night/themes_daynight_bridge.xml create mode 100644 neumorphism/src/main/res/values/themes.xml create mode 100644 neumorphism/src/main/res/values/themes_base.xml create mode 100644 neumorphism/src/main/res/values/themes_base_bridge.xml create mode 100644 neumorphism/src/main/res/values/themes_bridge.xml create mode 100644 neumorphism/src/main/res/values/themes_daynight.xml create mode 100644 neumorphism/src/main/res/values/themes_daynight_bridge.xml create mode 100644 neumorphism/src/main/res/values/themes_overlay.xml diff --git a/neumorphism/src/main/java/soup/neumorphism/NeumorphButton.kt b/neumorphism/src/main/java/soup/neumorphism/NeumorphButton.kt index 6c987a6..035aff2 100644 --- a/neumorphism/src/main/java/soup/neumorphism/NeumorphButton.kt +++ b/neumorphism/src/main/java/soup/neumorphism/NeumorphButton.kt @@ -5,15 +5,15 @@ import android.graphics.Color import android.graphics.drawable.Drawable import android.util.AttributeSet import android.util.Log -import android.widget.Button import androidx.annotation.ColorInt +import androidx.appcompat.widget.AppCompatButton class NeumorphButton @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, - defStyleAttr: Int = 0, - defStyleRes: Int = R.style.defaultNeumorphButton -) : Button(context, attrs, defStyleAttr, defStyleRes) { + defStyleAttr: Int = R.attr.neumorphButtonStyle, + defStyleRes: Int = R.style.Widget_Neumorph_Button +) : AppCompatButton(context, attrs, defStyleAttr) { private val shapeDrawable: NeumorphShapeDrawable diff --git a/neumorphism/src/main/java/soup/neumorphism/NeumorphCardView.kt b/neumorphism/src/main/java/soup/neumorphism/NeumorphCardView.kt index 925e306..33bf753 100644 --- a/neumorphism/src/main/java/soup/neumorphism/NeumorphCardView.kt +++ b/neumorphism/src/main/java/soup/neumorphism/NeumorphCardView.kt @@ -11,8 +11,8 @@ import androidx.annotation.ColorInt class NeumorphCardView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, - defStyleAttr: Int = 0, - defStyleRes: Int = R.style.defaultNeumorphCardView + defStyleAttr: Int = R.attr.neumorphCardViewStyle, + defStyleRes: Int = R.style.Widget_Neumorph_CardView ) : FrameLayout(context, attrs, defStyleAttr, defStyleRes) { private val shapeDrawable: NeumorphShapeDrawable diff --git a/neumorphism/src/main/java/soup/neumorphism/NeumorphEditText.kt b/neumorphism/src/main/java/soup/neumorphism/NeumorphEditText.kt index 356ec34..3c0a456 100644 --- a/neumorphism/src/main/java/soup/neumorphism/NeumorphEditText.kt +++ b/neumorphism/src/main/java/soup/neumorphism/NeumorphEditText.kt @@ -4,8 +4,8 @@ import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.util.AttributeSet -import android.widget.EditText import androidx.annotation.ColorInt +import androidx.appcompat.widget.AppCompatEditText import soup.neumorphism.internal.blur.BlurProvider import soup.neumorphism.internal.util.withClip import soup.neumorphism.internal.util.withTranslation @@ -13,9 +13,9 @@ import soup.neumorphism.internal.util.withTranslation class NeumorphEditText @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, - defStyleAttr: Int = 0, - defStyleRes: Int = R.style.defaultNeumorphEditText -) : EditText(context, attrs, defStyleAttr, defStyleRes) { + defStyleAttr: Int = R.attr.neumorphEditTextStyle, + defStyleRes: Int = R.style.Widget_Neumorph_EditText +) : AppCompatEditText(context, attrs, defStyleAttr) { private val shapeDrawable: NeumorphShapeDrawable private val underlineDrawable: NeumorphShapeDrawable diff --git a/neumorphism/src/main/java/soup/neumorphism/NeumorphFloatingActionButton.kt b/neumorphism/src/main/java/soup/neumorphism/NeumorphFloatingActionButton.kt index 7897f83..ff648b4 100644 --- a/neumorphism/src/main/java/soup/neumorphism/NeumorphFloatingActionButton.kt +++ b/neumorphism/src/main/java/soup/neumorphism/NeumorphFloatingActionButton.kt @@ -11,8 +11,8 @@ import androidx.appcompat.widget.AppCompatImageButton class NeumorphFloatingActionButton @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, - defStyleAttr: Int = 0, - defStyleRes: Int = R.style.defaultNeumorphFloatingActionButton + defStyleAttr: Int = R.attr.neumorphFloatingActionButtonStyle, + defStyleRes: Int = R.style.Widget_Neumorph_FAB ) : AppCompatImageButton(context, attrs, defStyleAttr) { private val shapeDrawable: NeumorphShapeDrawable diff --git a/neumorphism/src/main/java/soup/neumorphism/NeumorphImageView.kt b/neumorphism/src/main/java/soup/neumorphism/NeumorphImageView.kt index 27690da..701a943 100644 --- a/neumorphism/src/main/java/soup/neumorphism/NeumorphImageView.kt +++ b/neumorphism/src/main/java/soup/neumorphism/NeumorphImageView.kt @@ -5,15 +5,15 @@ import android.graphics.Color import android.graphics.drawable.Drawable import android.util.AttributeSet import android.util.Log -import android.widget.ImageView import androidx.annotation.ColorInt +import androidx.appcompat.widget.AppCompatImageView class NeumorphImageView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, - defStyleAttr: Int = 0, - defStyleRes: Int = R.style.defaultNeumorphImageView -) : ImageView(context, attrs, defStyleAttr, defStyleRes) { + defStyleAttr: Int = R.attr.neumorphImageViewStyle, + defStyleRes: Int = R.style.Widget_Neumorph_ImageView +) : AppCompatImageView(context, attrs, defStyleAttr) { private val shapeDrawable: NeumorphShapeDrawable diff --git a/neumorphism/src/main/java/soup/neumorphism/NeumorphTextView.kt b/neumorphism/src/main/java/soup/neumorphism/NeumorphTextView.kt index 345b3a2..e3c8aff 100644 --- a/neumorphism/src/main/java/soup/neumorphism/NeumorphTextView.kt +++ b/neumorphism/src/main/java/soup/neumorphism/NeumorphTextView.kt @@ -13,8 +13,8 @@ import kotlin.math.max class NeumorphTextView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, - defStyleAttr: Int = 0, - defStyleRes: Int = R.style.defaultNeumorphTextView + defStyleAttr: Int = R.attr.neumorphTextViewStyle, + defStyleRes: Int = R.style.Widget_Neumorph_TextView ) : AppCompatTextView(context, attrs, defStyleAttr) { private val shadowElevation: Float diff --git a/neumorphism/src/main/res/values-night/themes_daynight.xml b/neumorphism/src/main/res/values-night/themes_daynight.xml new file mode 100644 index 0000000..1e34144 --- /dev/null +++ b/neumorphism/src/main/res/values-night/themes_daynight.xml @@ -0,0 +1,12 @@ + + + + - - - - - - - - + + + + diff --git a/neumorphism/src/main/res/values/themes.xml b/neumorphism/src/main/res/values/themes.xml new file mode 100644 index 0000000..e3d32fa --- /dev/null +++ b/neumorphism/src/main/res/values/themes.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +