Ver Fonte

定制logo功能

ccc há 4 meses atrás
pai
commit
bee403f4da

+ 2 - 0
lib_base/src/main/res/values/strings.xml

@@ -184,5 +184,7 @@
     <string name="alarm_message_07">挡片复位失败</string>
     <string name="alarm_message_08">玉米芯卡住</string>
     <string name="heartbeat_temp">发生器温度</string>
+    <string name="logo_text">图标变更</string>
+
 
 </resources>

+ 3 - 0
lib_common/src/main/java/com/quyunshuo/androidbaseframemvvm/common/constant/MMKVName.kt

@@ -94,6 +94,9 @@ abstract class MMKVName {
         val typeface1: Typeface
             //自定义字体样式
             get() =  Typeface.createFromAsset(BaseApplication.context.applicationContext.assets, "jiangchengyuanti.ttf")
+        val LOGO_TEXT: String
+            //logo号码
+            get() = "LOGO_TEXT"
     }
     // 这里可以继续添加其他常量
 

+ 24 - 0
module_home/src/main/java/com/quyunshuo/module/home/enums/LogoEnum.kt

@@ -0,0 +1,24 @@
+package com.quyunshuo.module.home.enums
+
+import com.quyunshuo.androidbaseframemvvm.base.addressenum.PayEnum
+import com.quyunshuo.androidbaseframemvvm.common.util.UiUtil
+import com.quyunshuo.module.home.R
+
+//还需要增加宽度和高度的自定义。因为每个logo都不一样。
+enum class LogoEnum(val code:String, val navId:Int,val width:Int,val height:Int) {
+    SUNZEE_LOGO("1", R.drawable.logo,141,58),
+    SUNZEE_LOGO1("2", R.drawable.logo_1,141,58),
+    SEVEN_CLOUD_LOGO("7777", R.drawable.logo_sevencloud,141,58);
+
+    companion object {
+        fun getEnumByValue(code: String): LogoEnum? {
+            for (anEnum in LogoEnum.values()) {
+                if (anEnum.code == code) {
+                    return anEnum
+                }
+            }
+            return null
+        }
+
+    }
+}

+ 9 - 0
module_home/src/main/java/com/quyunshuo/module/home/fragment/fragment/BuyFragment.kt

@@ -14,10 +14,13 @@ import com.hboxs.serialport.sbc.VboxSerialPortSendQueue
 import com.hboxs.serialport.sbc.frame.VboxCommand
 import com.hboxs.serialport.sbc.frame.VboxWriteCommand
 import com.quyunshuo.androidbaseframemvvm.base.utils.RegisterEventBus
+import com.quyunshuo.androidbaseframemvvm.base.utils.SpUtils
+import com.quyunshuo.androidbaseframemvvm.common.constant.MMKVName
 import com.quyunshuo.androidbaseframemvvm.common.ui.BaseFragment
 import com.quyunshuo.androidbaseframemvvm.common.util.XLogUtil
 import com.quyunshuo.module.home.R
 import com.quyunshuo.module.home.databinding.HomeFragmentBuyBinding
+import com.quyunshuo.module.home.enums.LogoEnum
 import com.quyunshuo.module.home.fragment.vm.BuyFragmentVM
 import com.quyunshuo.module.home.utils.SimplePlayerUtil
 import dagger.hilt.android.AndroidEntryPoint
@@ -66,6 +69,12 @@ class BuyFragment : BaseFragment<HomeFragmentBuyBinding, BuyFragmentVM>(),
             restCoin()
         }
 
+        val logoIcon = SpUtils.getString(MMKVName.LOGO_TEXT, "7777")
+        val enumByValue = LogoEnum.getEnumByValue(logoIcon!!)
+        val layoutParams = ivLogo.layoutParams
+        enumByValue?.navId?.let { ivLogo.setImageResource(it) }
+        enumByValue?.width?.let { layoutParams.width = it }
+        enumByValue?.height?.let { layoutParams.height = it }
     }
 
     @Subscribe(threadMode = ThreadMode.MAIN)

+ 8 - 0
module_home/src/main/java/com/quyunshuo/module/home/fragment/fragment/HomeFragment.kt

@@ -53,6 +53,7 @@ import com.quyunshuo.module.home.dialog.PayChooseDialogFragment
 import com.quyunshuo.module.home.dialog.PaySuccessDialog
 import com.quyunshuo.module.home.dialog.ShoppingCartDialogFragment
 import com.quyunshuo.module.home.dialog.TipsDialog
+import com.quyunshuo.module.home.enums.LogoEnum
 import com.quyunshuo.module.home.fragment.vm.HomeFragmentVM
 import com.quyunshuo.module.home.weight.NXHooldeIMGView
 import dagger.hilt.android.AndroidEntryPoint
@@ -139,6 +140,13 @@ class HomeFragment : BaseFragment<HomeFragmentHomeBinding, HomeFragmentVM>(), Vi
         //刷卡器初始化 在内部要做好判断?在外部吧  支付方式是否保护Nyax来决定。
         CreditCardPresenter.getCreditCardContract()
         setTextTtf()
+
+        val logoIcon = SpUtils.getString(MMKVName.LOGO_TEXT, "7777")
+        val enumByValue = LogoEnum.getEnumByValue(logoIcon!!)
+        val layoutParams = ivLogo.layoutParams
+        enumByValue?.navId?.let { ivLogo.setImageResource(it) }
+        enumByValue?.width?.let { layoutParams.width = it }
+        enumByValue?.height?.let { layoutParams.height = it }
     }
 
     //设置字体文件

+ 10 - 0
module_home/src/main/java/com/quyunshuo/module/home/fragment/fragment/MakeFragment.kt

@@ -23,8 +23,10 @@ import com.module.database.room.entity.LocalOrderBean
 import com.quyunshuo.androidbaseframemvvm.base.addressenum.PlcD2StatusEnum
 import com.quyunshuo.androidbaseframemvvm.base.ktx.observeLiveData
 import com.quyunshuo.androidbaseframemvvm.base.utils.RegisterEventBus
+import com.quyunshuo.androidbaseframemvvm.base.utils.SpUtils
 import com.quyunshuo.androidbaseframemvvm.common.bean.ShoppingCartBean
 import com.quyunshuo.androidbaseframemvvm.common.constant.Heartbeat
+import com.quyunshuo.androidbaseframemvvm.common.constant.MMKVName
 import com.quyunshuo.androidbaseframemvvm.common.constant.event.ApiMessageEvent
 import com.quyunshuo.androidbaseframemvvm.common.ui.BaseFragment
 import com.quyunshuo.androidbaseframemvvm.common.util.ByteUtils
@@ -33,6 +35,7 @@ import com.quyunshuo.androidbaseframemvvm.common.util.XLogUtil
 import com.quyunshuo.module.home.R
 import com.quyunshuo.module.home.databinding.HomeFragmentMakeBinding
 import com.quyunshuo.module.home.dialog.AgainBuyDialog
+import com.quyunshuo.module.home.enums.LogoEnum
 import com.quyunshuo.module.home.fragment.vm.MakeFragmentVM
 import com.quyunshuo.module.home.utils.SimplePlayerUtil
 import com.quyunshuo.module.home.weight.ProgressView
@@ -109,6 +112,13 @@ class MakeFragment : BaseFragment<HomeFragmentMakeBinding, MakeFragmentVM>() {
         })
         //硬币清零
         restCoin()
+
+        val logoIcon = SpUtils.getString(MMKVName.LOGO_TEXT, "1")
+        val enumByValue = LogoEnum.getEnumByValue(logoIcon!!)
+        val layoutParams = ivLogo.layoutParams
+        enumByValue?.navId?.let { ivLogo.setImageResource(it) }
+        enumByValue?.width?.let { layoutParams.width = it }
+        enumByValue?.height?.let { layoutParams.height = it }
     }
 
     fun parseShoppingCartData(jsonData: String): List<ShoppingCartBean> {

+ 9 - 1
module_home/src/main/java/com/quyunshuo/module/home/fragment/fragment/SleepFragment.kt

@@ -19,6 +19,7 @@ import com.quyunshuo.androidbaseframemvvm.common.util.UiUtil
 import com.quyunshuo.module.home.R
 import com.quyunshuo.module.home.databinding.HomeFragmentSleepBlockBinding
 import com.quyunshuo.module.home.databinding.HomeFragmentUserloginBinding
+import com.quyunshuo.module.home.enums.LogoEnum
 import com.quyunshuo.module.home.fragment.vm.SleepFragmentVM
 import com.quyunshuo.module.home.fragment.vm.UserLoginFragmentVM
 import com.quyunshuo.module.home.model.livedata.LiveDataBean
@@ -44,13 +45,20 @@ class SleepFragment : BaseFragment<HomeFragmentSleepBlockBinding, SleepFragmentV
         SpUtils.putBoolean(MMKVName.SLEEP,true)
         //3. 上传状态到后台
 
-        LongClickUtils.setLongClick(Handler(),mBinding.tvExitSleep,5000,object :View.OnLongClickListener{
+        LongClickUtils.setLongClick(Handler(),mBinding.ivLogo,5000,object :View.OnLongClickListener{
             override fun onLongClick(v: View?): Boolean {
                 val findNavController = findNavController()
                 findNavController.navigate(R.id.home_action_home_sleepfragment_to_home_buyfragment)
                 return true
             }
         })
+
+        val logoIcon = SpUtils.getString(MMKVName.LOGO_TEXT, "7777")
+        val enumByValue = LogoEnum.getEnumByValue(logoIcon!!)
+        val layoutParams = ivLogo.layoutParams
+        enumByValue?.navId?.let { ivLogo.setImageResource(it) }
+        enumByValue?.width?.let { layoutParams.width = it }
+        enumByValue?.height?.let { layoutParams.height = it }
     }
 
     override fun initObserve() {

BIN
module_home/src/main/res/drawable/logo_sevencloud.png


+ 1 - 1
module_home/src/main/res/layout/home_fragment_buy.xml

@@ -28,7 +28,7 @@
         android:layout_height="150dp"
         android:layout_marginLeft="20dp"
         android:layout_marginTop="20dp"
-        android:src="@drawable/logo"
+        android:src="@drawable/logo_sevencloud"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 

+ 2 - 2
module_home/src/main/res/layout/home_fragment_home.xml

@@ -8,12 +8,12 @@
     android:background="@drawable/userhome_bg">
 
     <ImageView
-        android:id="@+id/home_imageview2"
+        android:id="@+id/iv_logo"
         android:layout_width="300dp"
         android:layout_height="150dp"
         android:layout_marginLeft="20dp"
         android:layout_marginTop="20dp"
-        android:src="@drawable/logo"
+        android:src="@drawable/logo_sevencloud"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 

+ 1 - 1
module_home/src/main/res/layout/home_fragment_make.xml

@@ -27,7 +27,7 @@
         android:layout_height="150dp"
         android:layout_marginLeft="20dp"
         android:layout_marginTop="20dp"
-        android:src="@drawable/logo"
+        android:src="@drawable/logo_sevencloud"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 

+ 13 - 3
module_home/src/main/res/layout/home_fragment_sleep_block.xml

@@ -19,10 +19,20 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 
-    <TextView
-        android:id="@+id/tv_exit_sleep"
-        android:layout_width="200dp"
+<!--    <TextView-->
+<!--        android:id="@+id/tv_exit_sleep"-->
+<!--        android:layout_width="200dp"-->
+<!--        android:layout_height="150dp"-->
+<!--        app:layout_constraintStart_toStartOf="parent"-->
+<!--        app:layout_constraintTop_toTopOf="parent" />-->
+
+    <ImageView
+        android:id="@+id/iv_logo"
+        android:layout_width="350dp"
         android:layout_height="150dp"
+        android:layout_marginLeft="20dp"
+        android:layout_marginTop="20dp"
+        android:src="@drawable/logo_sevencloud"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 

+ 2 - 0
module_pay/src/main/java/com/module/pay/common/OtherEnum.kt

@@ -30,4 +30,6 @@ enum class OtherEnum(var nameId:Int, var nameS:String, var category:String, var
     CONTACT_NAME(R.string.way_contacts,"联系人","系统设置","名字", 2,MMKVName.CONTACT_NAME),
     CONTACT_NUMBER(R.string.way_contacts,"联系方式","系统设置","123456", 2,MMKVName.CONTACT_NUMBER),
 
+    LOGO_TEXT(R.string.logo_text,"图标变更","功能开启","7777", 2,MMKVName.LOGO_TEXT),
+
 }