Forráskód Böngészése

增加学生端部分页面样式设置

Pq 1 éve
szülő
commit
30166698e3

+ 46 - 0
BaseLibrary/src/main/java/com/cooleshow/base/constanst/StyleConfig.java

@@ -0,0 +1,46 @@
+package com.cooleshow.base.constanst;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.drawable.Drawable;
+
+import com.cooleshow.base.R;
+import com.cooleshow.base.common.BaseApplication;
+import com.cooleshow.base.utils.LOG;
+
+import static androidx.appcompat.widget.TintTypedArray.obtainStyledAttributes;
+
+/**
+ * Author by pq, Date on 2023/9/13.
+ */
+public class StyleConfig {
+    public static boolean isStudentStyle = true;
+    public static int default_main_color = R.color.colorAccent;
+
+    public static void setTheme(Activity activity) {
+        if (isStudentStyle) {
+            activity.setTheme(R.style.Student_NORMAL_STYLE);
+        } else {
+            activity.setTheme(R.style.Student_OTHER_STYLE);
+        }
+    }
+
+    public static int getMainColor(Activity context) {
+        TypedArray tyar = context.obtainStyledAttributes(new int[]{
+                R.attr.klx_main_color
+        });
+        int colorArrtValue = tyar.getColor(0, context.getResources().getColor(default_main_color));
+        tyar.recycle();
+        return colorArrtValue;
+    }
+
+    public static Drawable getMainBtBackground(Activity context) {
+        TypedArray tyar = context.obtainStyledAttributes(new int[]{
+                R.attr.klx_main_bt_background
+        });
+        Drawable drawable = tyar.getDrawable(0);
+        tyar.recycle();
+        return drawable;
+    }
+}

+ 5 - 0
BaseLibrary/src/main/res/drawable/shape_fe2451_39dp.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/color_fe2451"/>
+    <corners android:radius="39dp"/>
+</shape>

+ 3 - 0
BaseLibrary/src/main/res/values/attrs.xml

@@ -59,4 +59,7 @@
 
         <attr name="max_height" format="dimension|reference" />
     </declare-styleable>
+
+    <attr name="klx_main_color" format="color" />
+    <attr name="klx_main_bt_background" format="reference" />
 </resources>

+ 1 - 0
BaseLibrary/src/main/res/values/colors.xml

@@ -166,6 +166,7 @@
     <color name="color_ffd5aa">#FFD5AA</color>
     <color name="color_ff8000">#FF8000</color>
     <color name="color_aaaaaa">#aaaaaa</color>
+    <color name="color_fe2451">#FE2451</color>
 
 
     <color name="color_25292e">#25292E</color>

+ 11 - 0
BaseLibrary/src/main/res/values/styles.xml

@@ -492,4 +492,15 @@
         <!-- 还可以加入一些弹出和退出的动画 (lan)-->
         <item name="android:windowAnimationStyle">@style/BottomAnimation</item>
     </style>
+
+
+    <style name="Student_NORMAL_STYLE" parent="AppTheme">
+        <item name="klx_main_color">@color/color_2dc7aa</item>
+        <item name="klx_main_bt_background">@drawable/shape_2dc7aa_39dp</item>
+    </style>
+
+    <style name="Student_OTHER_STYLE" parent="AppTheme">
+        <item name="klx_main_color">#FE2451</item>
+        <item name="klx_main_bt_background">@drawable/shape_fe2451_39dp</item>
+    </style>
 </resources>

+ 9 - 3
institution/src/main/java/com/cooleshow/institution/stu/ui/main/MainActivity.java

@@ -9,6 +9,7 @@ import android.widget.TextView;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.constanst.LoginStatusConstants;
+import com.cooleshow.base.constanst.StyleConfig;
 import com.cooleshow.base.event.LoginStatusEvent;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseActivity;
@@ -49,7 +50,7 @@ public class MainActivity extends BaseMVPActivity<ActivityInstitutionMainLayoutB
     private ChatFragment mChatFragment;
     private HomeFragment mHomeFragment;
     private boolean isNeedSetPushId = true;
-    private IUnReadMessageObserver mUnReadMessageObserver =new IUnReadMessageObserver(){
+    private IUnReadMessageObserver mUnReadMessageObserver = new IUnReadMessageObserver() {
         @Override
         public void onTotalUnreadMessageCountChanged(long totalUnreadCount) {
             onCountChanged(totalUnreadCount);
@@ -83,10 +84,15 @@ public class MainActivity extends BaseMVPActivity<ActivityInstitutionMainLayoutB
     @Override
     public void initData() {
         super.initData();
+        setStyleConfig();
         requestPermission();
         IMCenter.getInstance().addUnReadMessageObserver(mUnReadMessageObserver);
     }
 
+    private void setStyleConfig() {
+        StyleConfig.isStudentStyle = false;
+    }
+
     public void onTabClick(View view) {
         int id = view.getId();
         if (id == R.id.view_home) {
@@ -120,9 +126,9 @@ public class MainActivity extends BaseMVPActivity<ActivityInstitutionMainLayoutB
     }
 
     public void updateBottomTabStyle(boolean isBlack) {
-        if(isBlack){
+        if (isBlack) {
             QMUIStatusBarHelper.setStatusBarDarkMode(this);
-        }else{
+        } else {
             QMUIStatusBarHelper.setStatusBarLightMode(this);
         }
         viewBinding.csBottom.setBackgroundColor(getResources().getColor(isBlack ? R.color.color_121b2e : com.cooleshow.base.R.color.white));

+ 6 - 1
student/src/main/java/com/cooleshow/student/ui/main/MainActivity.java

@@ -22,6 +22,7 @@ import com.cooleshow.base.bean.RouteBean;
 import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.constanst.EventConstants;
 import com.cooleshow.base.constanst.LoginStatusConstants;
+import com.cooleshow.base.constanst.StyleConfig;
 import com.cooleshow.base.event.LoginStatusEvent;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
@@ -243,11 +244,16 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
     @Override
     public void initData() {
         super.initData();
+        setStyleConfig();
         requestPermission();
 //        IMManager.getInstance().addOnUnReadMessageListener(this);
         IMCenter.getInstance().addUnReadMessageObserver(mUnReadMessageObserver);
     }
 
+    private void setStyleConfig() {
+        StyleConfig.isStudentStyle = false;
+    }
+
     /**
      * 申请存储权限
      */
@@ -387,7 +393,6 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
     protected void onResume() {
         super.onResume();
         presenter.getUserInfo();
-
     }
 
 

+ 3 - 1
student/src/main/java/com/cooleshow/student/ui/mine/ModifyNickNameActivity.java

@@ -10,6 +10,7 @@ import androidx.annotation.Nullable;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.cooleshow.base.bean.QueryParamsConfigBean;
+import com.cooleshow.base.constanst.StyleConfig;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.ToastUtil;
@@ -57,6 +58,7 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
     }
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
+        StyleConfig.setTheme(this);
         super.onCreate(savedInstanceState);
         StatusBarUtil.setStatusBarDarkTheme(this, true);
     }
@@ -64,7 +66,7 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
     protected void initView() {
         ARouter.getInstance().inject(this);
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "修改昵称");
-        viewBinding.toolbarInclude.tvRightText.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_2dc7aa));
+        viewBinding.toolbarInclude.tvRightText.setTextColor(StyleConfig.getMainColor(this));
         viewBinding.toolbarInclude.tvRightText.setVisibility(View.VISIBLE);
         viewBinding.toolbarInclude.tvRightText.setText("保存");
         viewBinding.toolbarInclude.tvRightText.setOnClickListener(this);