diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/call/ChatCallView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/call/ChatCallView.kt index aab3c8c..0065ac7 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/call/ChatCallView.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/call/ChatCallView.kt @@ -26,6 +26,7 @@ class ChatCallView @JvmOverloads constructor( init { mBinding = LayoutChatCallViewBinding.inflate(LayoutInflater.from(context), this, true) setupClickListeners() + mBinding.lottieSpeaking.playAnimation() } diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/CustomViewTokenExt.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/CustomViewTokenExt.kt index 23b8bb9..4a4f015 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/CustomViewTokenExt.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/CustomViewTokenExt.kt @@ -574,28 +574,3 @@ fun View.getGradientDrawableDirectly( return gradientDrawable } - -fun View.readTokenAdvAttrs( - token: CustomViewToken, - array: TypedArray -) { - // - token.advBgColor = array.getColor(R.styleable.UITokenTextView_advBgColor, token.advBgColor) - token.advRadius = array.getDimension(R.styleable.UITokenTextView_advRadius, token.advRadius) - token.advTopLeftRadius = - array.getDimension(R.styleable.UITokenTextView_advTopLeftRadius, token.advTopLeftRadius) - token.advTopRightRadius = - array.getDimension(R.styleable.UITokenTextView_advTopRightRadius, token.advTopRightRadius) - token.advBottomRightRadius = array.getDimension( - R.styleable.UITokenTextView_advBottomRightRadius, - token.advBottomRightRadius - ) - token.advBottomLeftRadius = array.getDimension( - R.styleable.UITokenTextView_advBottomLeftRadius, - token.advBottomLeftRadius - ) - token.advStrokeColor = - array.getColor(R.styleable.UITokenTextView_advStrokeColor, token.advStrokeColor) - token.advStrokeWidth = - array.getDimension(R.styleable.UITokenTextView_advStrokeWidth, token.advStrokeWidth) -} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenConstraintLayout.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenConstraintLayout.kt index 01143ce..701988a 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenConstraintLayout.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenConstraintLayout.kt @@ -8,7 +8,6 @@ import com.remax.visualnovel.widget.uitoken.bean.CustomViewToken import com.remax.visualnovel.widget.uitoken.changeBackground import com.remax.visualnovel.widget.uitoken.changeOutline import com.remax.visualnovel.widget.uitoken.expend.dsl.expand -import com.remax.visualnovel.widget.uitoken.readTokenAdvAttrs /** * Created by HJW on 2022/8/31 @@ -45,7 +44,15 @@ open class UITokenConstraintLayout @JvmOverloads constructor(context: Context, a strokeDashWidth = typedArray.getDimensionPixelOffset(R.styleable.UITokenConstraintLayout_strokeDashWidth, 0).toFloat() strokeDashGap = typedArray.getDimensionPixelOffset(R.styleable.UITokenConstraintLayout_strokeDashGap, 0).toFloat() - readTokenAdvAttrs(this@run, typedArray) + // + advBgColor = typedArray.getColor(R.styleable.UITokenConstraintLayout_advBgColor, advBgColor) + advRadius = typedArray.getDimension(R.styleable.UITokenConstraintLayout_advRadius, advRadius) + advTopLeftRadius = typedArray.getDimension(R.styleable.UITokenConstraintLayout_advTopLeftRadius, advTopLeftRadius) + advTopRightRadius = typedArray.getDimension(R.styleable.UITokenConstraintLayout_advTopRightRadius, advTopRightRadius) + advBottomRightRadius = typedArray.getDimension(R.styleable.UITokenConstraintLayout_advBottomRightRadius, advBottomRightRadius) + advBottomLeftRadius = typedArray.getDimension(R.styleable.UITokenConstraintLayout_advBottomLeftRadius, advBottomLeftRadius) + advStrokeColor = typedArray.getColor(R.styleable.UITokenConstraintLayout_advStrokeColor, advStrokeColor) + advStrokeWidth = typedArray.getDimension(R.styleable.UITokenConstraintLayout_advStrokeWidth, advStrokeWidth) } typedArray.recycle() diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenEditView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenEditView.kt index bcc6e5a..9e820d2 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenEditView.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenEditView.kt @@ -9,7 +9,6 @@ import com.remax.visualnovel.widget.uitoken.changeBackground import com.remax.visualnovel.widget.uitoken.changeOutline import com.remax.visualnovel.widget.uitoken.changeTextColor import com.remax.visualnovel.widget.uitoken.changeTextFont -import com.remax.visualnovel.widget.uitoken.readTokenAdvAttrs /** * Created by HJW on 2022/8/31 @@ -47,7 +46,15 @@ open class UITokenEditView @JvmOverloads constructor(context: Context, attrs: At strokeUIHoveredColorToken = typedArray.getString(R.styleable.UITokenEditView_strokeHoveredColorToken) ?: "" strokeUIDisabledColorToken = typedArray.getString(R.styleable.UITokenEditView_strokeDisabledColorToken) ?: "" - readTokenAdvAttrs(this@run, typedArray) + // + advBgColor = typedArray.getColor(R.styleable.UITokenEditView_advBgColor, advBgColor) + advRadius = typedArray.getDimension(R.styleable.UITokenEditView_advRadius, advRadius) + advTopLeftRadius = typedArray.getDimension(R.styleable.UITokenEditView_advTopLeftRadius, advTopLeftRadius) + advTopRightRadius = typedArray.getDimension(R.styleable.UITokenEditView_advTopRightRadius, advTopRightRadius) + advBottomRightRadius = typedArray.getDimension(R.styleable.UITokenEditView_advBottomRightRadius, advBottomRightRadius) + advBottomLeftRadius = typedArray.getDimension(R.styleable.UITokenEditView_advBottomLeftRadius, advBottomLeftRadius) + advStrokeColor = typedArray.getColor(R.styleable.UITokenEditView_advStrokeColor, advStrokeColor) + advStrokeWidth = typedArray.getDimension(R.styleable.UITokenEditView_advStrokeWidth, advStrokeWidth) } typedArray.recycle() diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenFrameLayout.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenFrameLayout.kt index 6a3a83b..fa8db83 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenFrameLayout.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenFrameLayout.kt @@ -8,7 +8,6 @@ import com.remax.visualnovel.widget.uitoken.bean.CustomViewToken import com.remax.visualnovel.widget.uitoken.changeBackground import com.remax.visualnovel.widget.uitoken.changeOutline import com.remax.visualnovel.widget.uitoken.expend.dsl.expand -import com.remax.visualnovel.widget.uitoken.readTokenAdvAttrs /** * Created by HJW on 2022/8/31 @@ -45,7 +44,15 @@ open class UITokenFrameLayout @JvmOverloads constructor(context: Context, attrs: strokeDashWidth = typedArray.getDimensionPixelOffset(R.styleable.UITokenFrameLayout_strokeDashWidth, 0).toFloat() strokeDashGap = typedArray.getDimensionPixelOffset(R.styleable.UITokenFrameLayout_strokeDashGap, 0).toFloat() - readTokenAdvAttrs(this@run, typedArray) + // + advBgColor = typedArray.getColor(R.styleable.UITokenFrameLayout_advBgColor, advBgColor) + advRadius = typedArray.getDimension(R.styleable.UITokenFrameLayout_advRadius, advRadius) + advTopLeftRadius = typedArray.getDimension(R.styleable.UITokenFrameLayout_advTopLeftRadius, advTopLeftRadius) + advTopRightRadius = typedArray.getDimension(R.styleable.UITokenFrameLayout_advTopRightRadius, advTopRightRadius) + advBottomRightRadius = typedArray.getDimension(R.styleable.UITokenFrameLayout_advBottomRightRadius, advBottomRightRadius) + advBottomLeftRadius = typedArray.getDimension(R.styleable.UITokenFrameLayout_advBottomLeftRadius, advBottomLeftRadius) + advStrokeColor = typedArray.getColor(R.styleable.UITokenFrameLayout_advStrokeColor, advStrokeColor) + advStrokeWidth = typedArray.getDimension(R.styleable.UITokenFrameLayout_advStrokeWidth, advStrokeWidth) } typedArray.recycle() diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenImageView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenImageView.kt index ca1bfd9..e5548c6 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenImageView.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenImageView.kt @@ -1,6 +1,7 @@ package com.remax.visualnovel.widget.uitoken.view import android.content.Context +import android.content.res.TypedArray import android.util.AttributeSet import androidx.appcompat.widget.AppCompatImageView import com.remax.visualnovel.R @@ -8,7 +9,6 @@ import com.remax.visualnovel.widget.uitoken.bean.CustomViewToken import com.remax.visualnovel.widget.uitoken.changeBackground import com.remax.visualnovel.widget.uitoken.changeOutline import com.remax.visualnovel.widget.uitoken.expend.dsl.expand -import com.remax.visualnovel.widget.uitoken.readTokenAdvAttrs /** * Created by HJW on 2022/8/31 @@ -46,7 +46,16 @@ open class UITokenImageView @JvmOverloads constructor(context: Context, attrs: A strokeDashWidth = typedArray.getDimensionPixelOffset(R.styleable.UITokenImageView_strokeDashWidth, 0).toFloat() strokeDashGap = typedArray.getDimensionPixelOffset(R.styleable.UITokenImageView_strokeDashGap, 0).toFloat() - readTokenAdvAttrs(this@run, typedArray) + + // + advBgColor = typedArray.getColor(R.styleable.UITokenImageView_advBgColor, advBgColor) + advRadius = typedArray.getDimension(R.styleable.UITokenImageView_advRadius, advRadius) + advTopLeftRadius = typedArray.getDimension(R.styleable.UITokenImageView_advTopLeftRadius, advTopLeftRadius) + advTopRightRadius = typedArray.getDimension(R.styleable.UITokenImageView_advTopRightRadius, advTopRightRadius) + advBottomRightRadius = typedArray.getDimension(R.styleable.UITokenImageView_advBottomRightRadius, advBottomRightRadius) + advBottomLeftRadius = typedArray.getDimension(R.styleable.UITokenImageView_advBottomLeftRadius, advBottomLeftRadius) + advStrokeColor = typedArray.getColor(R.styleable.UITokenImageView_advStrokeColor, advStrokeColor) + advStrokeWidth = typedArray.getDimension(R.styleable.UITokenImageView_advStrokeWidth, advStrokeWidth) } typedArray.recycle() @@ -62,4 +71,4 @@ open class UITokenImageView @JvmOverloads constructor(context: Context, attrs: A override fun getUITokenView(): CustomViewToken { return customViewToken } -} \ No newline at end of file +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenLinearLayout.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenLinearLayout.kt index 92fe9f4..5c2775e 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenLinearLayout.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenLinearLayout.kt @@ -8,7 +8,6 @@ import com.remax.visualnovel.widget.uitoken.bean.CustomViewToken import com.remax.visualnovel.widget.uitoken.changeBackground import com.remax.visualnovel.widget.uitoken.changeOutline import com.remax.visualnovel.widget.uitoken.expend.dsl.expand -import com.remax.visualnovel.widget.uitoken.readTokenAdvAttrs /** * Created by HJW on 2022/8/31 @@ -45,7 +44,15 @@ open class UITokenLinearLayout @JvmOverloads constructor(context: Context, attrs strokeDashWidth = typedArray.getDimensionPixelOffset(R.styleable.UITokenLinearLayout_strokeDashWidth, 0).toFloat() strokeDashGap = typedArray.getDimensionPixelOffset(R.styleable.UITokenLinearLayout_strokeDashGap, 0).toFloat() - readTokenAdvAttrs(this@run, typedArray) + // + advBgColor = typedArray.getColor(R.styleable.UITokenLinearLayout_advBgColor, advBgColor) + advRadius = typedArray.getDimension(R.styleable.UITokenLinearLayout_advRadius, advRadius) + advTopLeftRadius = typedArray.getDimension(R.styleable.UITokenLinearLayout_advTopLeftRadius, advTopLeftRadius) + advTopRightRadius = typedArray.getDimension(R.styleable.UITokenLinearLayout_advTopRightRadius, advTopRightRadius) + advBottomRightRadius = typedArray.getDimension(R.styleable.UITokenLinearLayout_advBottomRightRadius, advBottomRightRadius) + advBottomLeftRadius = typedArray.getDimension(R.styleable.UITokenLinearLayout_advBottomLeftRadius, advBottomLeftRadius) + advStrokeColor = typedArray.getColor(R.styleable.UITokenLinearLayout_advStrokeColor, advStrokeColor) + advStrokeWidth = typedArray.getDimension(R.styleable.UITokenLinearLayout_advStrokeWidth, advStrokeWidth) } typedArray.recycle() diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenRelativeLayout.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenRelativeLayout.kt index 43df1e4..702ec95 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenRelativeLayout.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenRelativeLayout.kt @@ -8,7 +8,6 @@ import com.remax.visualnovel.widget.uitoken.bean.CustomViewToken import com.remax.visualnovel.widget.uitoken.changeBackground import com.remax.visualnovel.widget.uitoken.changeOutline import com.remax.visualnovel.widget.uitoken.expend.dsl.expand -import com.remax.visualnovel.widget.uitoken.readTokenAdvAttrs /** * Created by HJW on 2022/8/31 @@ -45,7 +44,15 @@ class UITokenRelativeLayout @JvmOverloads constructor(context: Context, attrs: A strokeDashWidth = typedArray.getDimensionPixelOffset(R.styleable.UITokenRelativeLayout_strokeDashWidth, 0).toFloat() strokeDashGap = typedArray.getDimensionPixelOffset(R.styleable.UITokenRelativeLayout_strokeDashGap, 0).toFloat() - readTokenAdvAttrs(this@run, typedArray) + // + advBgColor = typedArray.getColor(R.styleable.UITokenImageView_advBgColor, advBgColor) + advRadius = typedArray.getDimension(R.styleable.UITokenImageView_advRadius, advRadius) + advTopLeftRadius = typedArray.getDimension(R.styleable.UITokenImageView_advTopLeftRadius, advTopLeftRadius) + advTopRightRadius = typedArray.getDimension(R.styleable.UITokenImageView_advTopRightRadius, advTopRightRadius) + advBottomRightRadius = typedArray.getDimension(R.styleable.UITokenImageView_advBottomRightRadius, advBottomRightRadius) + advBottomLeftRadius = typedArray.getDimension(R.styleable.UITokenImageView_advBottomLeftRadius, advBottomLeftRadius) + advStrokeColor = typedArray.getColor(R.styleable.UITokenImageView_advStrokeColor, advStrokeColor) + advStrokeWidth = typedArray.getDimension(R.styleable.UITokenImageView_advStrokeWidth, advStrokeWidth) } typedArray.recycle() diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenTextView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenTextView.kt index 6468ea9..2473292 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenTextView.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/uitoken/view/UITokenTextView.kt @@ -16,7 +16,6 @@ import com.remax.visualnovel.widget.uitoken.changeTextColor import com.remax.visualnovel.widget.uitoken.changeTextFont import com.remax.visualnovel.widget.uitoken.expend.dsl.expand import androidx.core.content.withStyledAttributes -import com.remax.visualnovel.widget.uitoken.readTokenAdvAttrs /** * Created by HJW on 2022/8/31 @@ -80,7 +79,15 @@ open class UITokenTextView @JvmOverloads constructor(context: Context, private v fixTextIsSelectable = getBoolean(R.styleable.UITokenTextView_fixTextIsSelectable, fixTextIsSelectable) - readTokenAdvAttrs(this@run, this@withStyledAttributes) + // + advBgColor = getColor(R.styleable.UITokenTextView_advBgColor, advBgColor) + advRadius = getDimension(R.styleable.UITokenTextView_advRadius, advRadius) + advTopLeftRadius = getDimension(R.styleable.UITokenTextView_advTopLeftRadius, advTopLeftRadius) + advTopRightRadius = getDimension(R.styleable.UITokenTextView_advTopRightRadius, advTopRightRadius) + advBottomRightRadius = getDimension(R.styleable.UITokenTextView_advBottomRightRadius, advBottomRightRadius) + advBottomLeftRadius = getDimension(R.styleable.UITokenTextView_advBottomLeftRadius, advBottomLeftRadius) + advStrokeColor = getColor(R.styleable.UITokenTextView_advStrokeColor, advStrokeColor) + advStrokeWidth = getDimension(R.styleable.UITokenTextView_advStrokeWidth, advStrokeWidth) } } diff --git a/VisualNovel/app/src/main/res/values/attrs.xml b/VisualNovel/app/src/main/res/values/attrs.xml index cb93cbc..ecf7673 100644 --- a/VisualNovel/app/src/main/res/values/attrs.xml +++ b/VisualNovel/app/src/main/res/values/attrs.xml @@ -58,6 +58,17 @@ format="dimension" /> + + + + + + + + + + + @@ -100,14 +111,14 @@ - - - - - - - - + + + + + + + + @@ -138,14 +149,14 @@ - + + + + + + + + @@ -171,14 +182,14 @@ - + + + + + + + + @@ -204,14 +215,14 @@ - + + + + + + + + @@ -237,14 +248,14 @@ - + + + + + + + + @@ -268,6 +279,16 @@ + + + + + + + + + + @@ -291,6 +312,16 @@ + + + + + + + + + + @@ -1499,6 +1530,24 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file