春节主题:首页弹窗、礼物、部分按钮。
@@ -5,6 +5,9 @@ import android.graphics.Color;
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.xscm.moduleutil.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -69,7 +72,7 @@ public class ColorManager {
|
||||
// 解析颜色为int值
|
||||
public int getPrimaryColorInt() {
|
||||
try {
|
||||
return Color.parseColor(primaryColor);
|
||||
return UtilConfig.getAttrColor(ActivityUtils.getTopActivity(), R.attr.app_color_colorPrimary);//Color.parseColor(primaryColor);
|
||||
} catch (Exception e) {
|
||||
return Color.parseColor("#3ABC6D"); // 默认颜色
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.xscm.moduleutil.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
|
||||
import com.lahm.library.EasyProtectorLib;
|
||||
import com.lahm.library.EmulatorCheckCallback;
|
||||
@@ -50,4 +52,31 @@ public class UtilConfig {
|
||||
public static void setSalt(String salt) {
|
||||
UtilConfig.salt = salt;
|
||||
}
|
||||
|
||||
|
||||
public static int getAttBg(Context context, int attr){
|
||||
// 1. 定义需要获取的自定义属性数组
|
||||
int[] attrs = new int[]{attr};
|
||||
// 2. 从Context的Theme中获取TypedArray(核心:绑定当前主题的属性值)
|
||||
TypedArray ta = context.obtainStyledAttributes(attrs);
|
||||
// 3. 获取attr对应的资源ID,默认值0(无有效资源时返回0)
|
||||
int bgResId = ta.getResourceId(0, 0);
|
||||
// 4. 关键:手动回收TypedArray,释放系统资源,避免内存泄漏
|
||||
ta.recycle();
|
||||
// 5. 有有效资源ID时,设置背景
|
||||
return bgResId;
|
||||
}
|
||||
|
||||
// 新增:解析自定义颜色属性,返回实际颜色码(核心)
|
||||
public static int getAttrColor(Context context, int colorAttrId) {
|
||||
if (context == null) {
|
||||
return Color.BLACK; // 上下文为空时返回默认黑色,可自定义
|
||||
}
|
||||
// 从主题中获取TypedArray,解析颜色属性
|
||||
TypedArray ta = context.obtainStyledAttributes(new int[]{colorAttrId});
|
||||
// getColor(索引, 默认颜色):直接返回十六进制颜色码,适配setTextColor
|
||||
int color = ta.getColor(0, Color.BLACK);
|
||||
ta.recycle(); // 必须回收,避免内存泄漏
|
||||
return color;
|
||||
}
|
||||
}
|
||||
|
||||
18
BaseModule/src/main/res/drawable/bg_item_selected.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<!-- <solid android:color="#E3F2FD" />-->
|
||||
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#FBFBFF"
|
||||
android:startColor="#EBFFED"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#56E449" />
|
||||
<corners android:radius="8dp" />
|
||||
</shape>
|
||||
|
||||
18
BaseModule/src/main/res/drawable/bg_item_spring_selected.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<!-- <solid android:color="#E3F2FD" />-->
|
||||
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#FFFBFBFF"
|
||||
android:startColor="#FFFFEBEB"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#FFFF7676" />
|
||||
<corners android:radius="8dp" />
|
||||
</shape>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape android:shape="rectangle"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke android:width="1dp" android:color="@color/colorPrimary" />
|
||||
<stroke android:width="1dp" android:color="?attr/app_color_colorPrimary" />
|
||||
<solid android:color="#ffeff2f8" />
|
||||
<corners android:topLeftRadius="65dp" android:topRightRadius="65dp" android:bottomLeftRadius="65dp" android:bottomRightRadius="65dp" />
|
||||
</shape>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape android:shape="rectangle"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke android:width="1dp" android:color="@color/colorPrimary_spring" />
|
||||
<solid android:color="#ffeff2f8" />
|
||||
<corners android:topLeftRadius="65dp" android:topRightRadius="65dp" android:bottomLeftRadius="65dp" android:bottomRightRadius="65dp" />
|
||||
</shape>
|
||||
14
BaseModule/src/main/res/drawable/dialog_gift_spring_bg.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#FFA50C1D"
|
||||
android:startColor="#FF3F0001"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners
|
||||
android:bottomLeftRadius="0dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="14dp"
|
||||
android:topRightRadius="14dp" />
|
||||
</shape>
|
||||
14
BaseModule/src/main/res/drawable/dialog_user_info_bg.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#ff093a1f"
|
||||
android:startColor="#176D33"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners
|
||||
android:bottomLeftRadius="0dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="14dp"
|
||||
android:topRightRadius="14dp" />
|
||||
</shape>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#FF68050C"
|
||||
android:startColor="#FF3F0001"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners
|
||||
android:bottomLeftRadius="0dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="14dp"
|
||||
android:topRightRadius="14dp" />
|
||||
</shape>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape android:shape="rectangle"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke android:width="1dp" android:color="#8865FF" />
|
||||
<stroke android:width="1dp" android:color="?attr/app_color_colorPrimary" />
|
||||
<corners android:topLeftRadius="79dp" android:topRightRadius="79dp" android:bottomLeftRadius="79dp" android:bottomRightRadius="79dp" />
|
||||
</shape>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape android:shape="rectangle"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke android:width="2dp" android:color="@color/colorPrimary" />
|
||||
<stroke android:width="2dp" android:color="?attr/app_color_colorPrimary" />
|
||||
<corners android:topLeftRadius="70dp" android:topRightRadius="70dp" android:bottomLeftRadius="70dp" android:bottomRightRadius="70dp" />
|
||||
</shape>
|
||||
@@ -16,7 +16,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/h_bj_b"
|
||||
android:src="?attr/app_main_dialog_refill_bg_line"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -26,7 +26,7 @@
|
||||
android:id="@+id/rl_t"
|
||||
android:layout_width="@dimen/dp_276"
|
||||
android:layout_height="@dimen/dp_350"
|
||||
android:background="@mipmap/frb_bg"
|
||||
android:background="?attr/app_main_dialog_refill_bg_first"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/h_bj_b"
|
||||
android:src="?attr/app_main_dialog_refill_bg_line"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -26,7 +26,7 @@
|
||||
android:id="@+id/rl_t"
|
||||
android:layout_width="@dimen/dp_276"
|
||||
android:layout_height="@dimen/dp_365"
|
||||
android:background="@mipmap/heaven_bj"
|
||||
android:background="?attr/app_main_dialog_refill_bg_day"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/h_bj_b"
|
||||
android:src="?attr/app_main_dialog_refill_bg_line"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -26,7 +26,7 @@
|
||||
android:id="@+id/rl_t"
|
||||
android:layout_width="@dimen/dp_276"
|
||||
android:layout_height="@dimen/dp_338"
|
||||
android:background="@mipmap/new_people_bj"
|
||||
android:background="?attr/app_main_dialog_refill_bg_new"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/index_youth"
|
||||
android:src="?attr/app_index_youth_bg"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="300:375"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -77,6 +77,7 @@
|
||||
android:background="@drawable/cs"
|
||||
android:gravity="center"
|
||||
android:text="开启青少年模式"
|
||||
android:backgroundTint="?attr/app_color_colorPrimary"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:textStyle="bold"
|
||||
|
||||
BIN
BaseModule/src/main/res/mipmap-hdpi/icon_invite_spring.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
BaseModule/src/main/res/mipmap-hdpi/icon_spring_frb_bg.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
BaseModule/src/main/res/mipmap-hdpi/icon_spring_h_bj_b.png
Normal file
|
After Width: | Height: | Size: 203 KiB |
BIN
BaseModule/src/main/res/mipmap-hdpi/icon_spring_heaven_bj.png
Normal file
|
After Width: | Height: | Size: 101 KiB |
BIN
BaseModule/src/main/res/mipmap-hdpi/icon_spring_index_youth.png
Normal file
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 141 KiB |
BIN
BaseModule/src/main/res/mipmap-xhdpi/icon_invite_spring.png
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
BaseModule/src/main/res/mipmap-xhdpi/icon_spring_frb_bg.png
Normal file
|
After Width: | Height: | Size: 166 KiB |
BIN
BaseModule/src/main/res/mipmap-xhdpi/icon_spring_h_bj_b.png
Normal file
|
After Width: | Height: | Size: 379 KiB |
BIN
BaseModule/src/main/res/mipmap-xhdpi/icon_spring_heaven_bj.png
Normal file
|
After Width: | Height: | Size: 168 KiB |
BIN
BaseModule/src/main/res/mipmap-xhdpi/icon_spring_index_youth.png
Normal file
|
After Width: | Height: | Size: 280 KiB |
|
After Width: | Height: | Size: 304 KiB |
BIN
BaseModule/src/main/res/mipmap-xxhdpi/icon_invite_spring.png
Normal file
|
After Width: | Height: | Size: 300 KiB |
BIN
BaseModule/src/main/res/mipmap-xxhdpi/icon_spring_frb_bg.png
Normal file
|
After Width: | Height: | Size: 322 KiB |
BIN
BaseModule/src/main/res/mipmap-xxhdpi/icon_spring_h_bj_b.png
Normal file
|
After Width: | Height: | Size: 703 KiB |
BIN
BaseModule/src/main/res/mipmap-xxhdpi/icon_spring_heaven_bj.png
Normal file
|
After Width: | Height: | Size: 324 KiB |
|
After Width: | Height: | Size: 564 KiB |
|
After Width: | Height: | Size: 565 KiB |
@@ -16,9 +16,27 @@
|
||||
|
||||
<attr name="app_main_tab_text_color" format="reference"/>
|
||||
<attr name="app_main_tab_bg" format="reference"/>
|
||||
|
||||
<attr name="app_invite_bg" format="reference"/>
|
||||
<attr name="app_index_youth_bg" format="reference"/>
|
||||
|
||||
<attr name="app_main_dialog_refill_bg_line" format="reference"/>
|
||||
<attr name="app_main_dialog_refill_bg_new" format="reference"/>
|
||||
<attr name="app_main_dialog_refill_bg_day" format="reference"/>
|
||||
<attr name="app_main_dialog_refill_bg_first" format="reference"/>
|
||||
|
||||
|
||||
<attr name="app_user_bg_color" format="color"/>
|
||||
<attr name="app_user_edit_me" format="reference"/>
|
||||
|
||||
|
||||
<attr name="app_tab_mark" format="reference"/>
|
||||
|
||||
<attr name="app_select_item" format="reference"/>
|
||||
|
||||
<attr name="app_bottom_dialog_bg" format="reference"/>
|
||||
<attr name="app_bottom_dialog_send_gift_bg" format="reference"/>
|
||||
|
||||
<declare-styleable name="ExplainView">
|
||||
<attr name="ev_title" />
|
||||
<attr name="ev_hint" format="string" />
|
||||
|
||||
@@ -43,11 +43,35 @@
|
||||
<item name="app_main_tab_2">@drawable/main_bottom_bar_icon_media</item>
|
||||
<item name="app_main_tab_3">@drawable/main_bottom_bar_icon_news</item>
|
||||
<item name="app_main_tab_4">@drawable/main_bottom_bar_icon_tend</item>
|
||||
|
||||
<item name="app_main_tab_text_color">@drawable/text_color_two</item>
|
||||
|
||||
<item name="app_main_tab_bg">@drawable/home_bbar_xz</item>
|
||||
|
||||
<item name="app_invite_bg">@mipmap/invite_bj</item>
|
||||
<item name="app_index_youth_bg">@mipmap/index_youth</item>
|
||||
|
||||
|
||||
<item name="app_main_dialog_refill_bg_line">@mipmap/h_bj_b</item>
|
||||
<item name="app_main_dialog_refill_bg_first">@mipmap/frb_bg</item>
|
||||
<item name="app_main_dialog_refill_bg_new">@mipmap/new_people_bj</item>
|
||||
<item name="app_main_dialog_refill_bg_day">@mipmap/heaven_bj</item>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<item name="app_user_bg_color">#231F2C</item>
|
||||
|
||||
<item name="app_user_edit_me">@mipmap/me_edit</item>
|
||||
<item name="app_tab_mark">@mipmap/tab_x</item>
|
||||
|
||||
<item name="app_select_item">@drawable/bg_item_selected</item>
|
||||
<item name="app_bottom_dialog_bg">@drawable/dialog_user_info_bg</item>
|
||||
|
||||
|
||||
<item name="app_bottom_dialog_send_gift_bg">@drawable/bg_room_gift</item>
|
||||
</style>
|
||||
|
||||
<!-- 子主题:元旦主题 -->
|
||||
@@ -65,9 +89,25 @@
|
||||
<item name="app_main_tab_text_color">@drawable/text_color_two</item>
|
||||
|
||||
<item name="app_main_tab_bg">@drawable/home_bbar_xz</item>
|
||||
|
||||
<item name="app_invite_bg">@mipmap/invite_bj</item>
|
||||
<item name="app_index_youth_bg">@mipmap/index_youth</item>
|
||||
|
||||
|
||||
<item name="app_main_dialog_refill_bg_line">@mipmap/h_bj_b</item>
|
||||
<item name="app_main_dialog_refill_bg_first">@mipmap/frb_bg</item>
|
||||
<item name="app_main_dialog_refill_bg_new">@mipmap/new_people_bj</item>
|
||||
<item name="app_main_dialog_refill_bg_day">@mipmap/heaven_bj</item>
|
||||
|
||||
|
||||
<item name="app_user_bg_color">#231F2C</item>
|
||||
|
||||
<item name="app_user_edit_me">@mipmap/me_edit</item>
|
||||
<item name="app_tab_mark">@mipmap/tab_x</item>
|
||||
|
||||
<item name="app_select_item">@drawable/bg_item_selected</item>
|
||||
<item name="app_bottom_dialog_bg">@drawable/dialog_user_info_bg</item>
|
||||
<item name="app_bottom_dialog_send_gift_bg">@drawable/bg_room_gift</item>
|
||||
</style>
|
||||
|
||||
|
||||
@@ -86,9 +126,27 @@
|
||||
<item name="app_main_tab_text_color">@drawable/text_color_spring</item>
|
||||
|
||||
<item name="app_main_tab_bg">@mipmap/icon_main_tab_bg</item>
|
||||
<item name="app_user_bg_color">#FF600D00</item>
|
||||
|
||||
<item name="app_invite_bg">@mipmap/icon_invite_spring</item>
|
||||
<item name="app_index_youth_bg">@mipmap/icon_spring_index_youth</item>
|
||||
|
||||
|
||||
<item name="app_main_dialog_refill_bg_line">@mipmap/icon_spring_h_bj_b</item>
|
||||
<item name="app_main_dialog_refill_bg_first">@mipmap/icon_spring_frb_bg</item>
|
||||
<item name="app_main_dialog_refill_bg_new">@mipmap/icon_spring_new_people_bj</item>
|
||||
<item name="app_main_dialog_refill_bg_day">@mipmap/icon_spring_heaven_bj</item>
|
||||
|
||||
|
||||
<item name="app_user_bg_color">#FF600D00</item>
|
||||
<item name="app_user_edit_me">@mipmap/icon_spring_edit_me</item>
|
||||
|
||||
<item name="app_tab_mark">@mipmap/icon_bg_tab_line</item>
|
||||
|
||||
<item name="app_select_item">@drawable/bg_item_spring_selected</item>
|
||||
|
||||
<item name="app_bottom_dialog_bg">@drawable/dialog_user_info_spring_bg</item>
|
||||
|
||||
<item name="app_bottom_dialog_send_gift_bg">@drawable/dialog_user_info_spring_bg</item>
|
||||
</style>
|
||||
|
||||
|
||||
|
||||