diff --git a/.idea/planningMode.xml b/.idea/planningMode.xml new file mode 100644 index 0000000..6dc24c8 --- /dev/null +++ b/.idea/planningMode.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f6e055d..0fcc852 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -222,6 +222,11 @@ android:name="com.ckkj.water.mine.ResetPsdActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize"/> + + \ No newline at end of file diff --git a/app/src/main/java/com/ckkj/water/base/BaseActivity.java b/app/src/main/java/com/ckkj/water/base/BaseActivity.java index 5ae8ba3..4c06be5 100644 --- a/app/src/main/java/com/ckkj/water/base/BaseActivity.java +++ b/app/src/main/java/com/ckkj/water/base/BaseActivity.java @@ -38,9 +38,11 @@ import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatDelegate; import androidx.core.app.ActivityCompat; import androidx.viewbinding.ViewBinding; +import com.ckkj.water.utils.manager.ThemeManager; import com.esafirm.imagepicker.features.ImagePicker; import com.hjq.permissions.OnPermissionCallback; import com.hjq.permissions.XXPermissions; @@ -104,6 +106,7 @@ public abstract class BaseActivity @Override protected void onCreate(@Nullable Bundle savedInstanceState) { + applyTheme(); super.onCreate(savedInstanceState); try { EventBus.getDefault().register(this); @@ -134,6 +137,13 @@ public abstract class BaseActivity initData(savedInstanceState); } + /** + * 所有Activity主题一致 + */ + protected void applyTheme() { + int nightMode = ThemeManager.getCurrentTheme(this); + AppCompatDelegate.setDefaultNightMode(nightMode); + } /** * 初始化窗口 diff --git a/app/src/main/java/com/ckkj/water/device/AddDeviceActivity.java b/app/src/main/java/com/ckkj/water/device/AddDeviceActivity.java index f7acb61..bd2031a 100644 --- a/app/src/main/java/com/ckkj/water/device/AddDeviceActivity.java +++ b/app/src/main/java/com/ckkj/water/device/AddDeviceActivity.java @@ -22,6 +22,7 @@ import com.ckkj.water.device.mvp.DeviceContract; import com.ckkj.water.device.mvp.DeviceImpl; import com.ckkj.water.device.mvp.DevicePresenter; import com.ckkj.water.network.BaseBean; +import com.ckkj.water.utils.manager.ThemeManager; import com.ckkj.water.utils.show.ToastUtil; import com.gyf.immersionbar.ImmersionBar; import com.maning.mlkitscanner.scan.MNScanManager; @@ -49,8 +50,8 @@ public class AddDeviceActivity extends BaseActivity + implements MineContract.MineView { + + @Override + public void initData(Bundle savedInstanceState) { + super.initData(savedInstanceState); + + ImmersionBar.with(this) + .statusBarColor(R.color.transparent) // 设置状态栏颜色 + .statusBarDarkFont(true) // 设置状态栏字体为黑色 + .titleBar(viewBinding.rlTitle) + .init(); + viewBinding.includedTitle.tvTitle.setText(R.string.register_title); + initListener(); + int currentTheme = ThemeManager.getCurrentTheme(mContext); + if(currentTheme == ThemeManager.MODE_LIGHT){ + viewBinding.checkNight.setChecked(false); + viewBinding.checkLight.setChecked(true); + }else{ + viewBinding.checkNight.setChecked(true); + viewBinding.checkLight.setChecked(false); + } + } + + private void initListener() { + setClick(viewBinding.includedTitle.imgBack); + setClick(viewBinding.linearLight); + setClick(viewBinding.linearNight); + } + + private void setClick(View view) { + view.setOnClickListener(this::onClick); + } + + public void onClick(View v){ + switch (v.getId()){ + case R.id.linear_light: + switchTheme(ThemeManager.MODE_LIGHT); + viewBinding.checkNight.setChecked(false); + viewBinding.checkLight.setChecked(true); + break; + case R.id.linear_night: + switchTheme(ThemeManager.MODE_DARK); + viewBinding.checkNight.setChecked(true); + viewBinding.checkLight.setChecked(false); + break; + } + } + + private void switchTheme(int themeMode) { + ThemeManager.setCurrentTheme(this, themeMode); + ThemeManager.applyTheme(themeMode); + recreate(); // 需要重新创建Activity使主题生效 + } + + @Override + public MinePresenter createPresenter() { + return new MinePresenter(new MineImpl()); + } + + @Override + public int getLayoutResId(Bundle savedInstanceState) { + return 0; + } + + @Override + public void showError(String message) { + + } + + @Override + public void logOut(BaseBean bean) { + + } +} diff --git a/app/src/main/java/com/ckkj/water/mine/MineCenterFragment.java b/app/src/main/java/com/ckkj/water/mine/MineCenterFragment.java index 9dd8a62..a710dc3 100644 --- a/app/src/main/java/com/ckkj/water/mine/MineCenterFragment.java +++ b/app/src/main/java/com/ckkj/water/mine/MineCenterFragment.java @@ -16,6 +16,7 @@ import com.ckkj.water.mine.mvp.MineContract; import com.ckkj.water.mine.mvp.MineImpl; import com.ckkj.water.mine.mvp.MinePresenter; import com.ckkj.water.network.BaseBean; +import com.ckkj.water.utils.manager.ThemeManager; import com.ckkj.water.utils.show.ToastUtil; import com.gyf.immersionbar.ImmersionBar; import com.lxj.xpopup.XPopup; @@ -33,8 +34,8 @@ public class MineCenterFragment extends BaseFragment - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_white_coeners_8.xml b/app/src/main/res/drawable/shape_white_coeners_8.xml index 5009ef8..6ca3015 100644 --- a/app/src/main/res/drawable/shape_white_coeners_8.xml +++ b/app/src/main/res/drawable/shape_white_coeners_8.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/add_device_layout.xml b/app/src/main/res/layout/add_device_layout.xml index 88d5b64..ad616b9 100644 --- a/app/src/main/res/layout/add_device_layout.xml +++ b/app/src/main/res/layout/add_device_layout.xml @@ -3,7 +3,7 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/color_F9F9F9"> + android:background="@color/mainBackgroundColor"> + layout="@layout/include_activity_back_whitebg_layout" /> + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/device_control_layout.xml b/app/src/main/res/layout/device_control_layout.xml index 730a8ca..b950c62 100644 --- a/app/src/main/res/layout/device_control_layout.xml +++ b/app/src/main/res/layout/device_control_layout.xml @@ -5,7 +5,7 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/color_F9F9F9" + android:background="@color/mainBackgroundColor" android:gravity="center_horizontal"> + layout="@layout/include_activity_back_whitebg_layout" /> @@ -159,7 +159,7 @@ android:layout_centerVertical="true" android:textSize="14sp" android:textStyle="bold" - android:textColor="@color/color_222222" + android:textColor="@color/textPrimaryColor" android:text="@string/device_work_times_title"/> + android:background="@color/mainBackgroundColor"> + layout="@layout/include_activity_back_whitebg_layout" /> @@ -53,7 +53,8 @@ android:layout_marginLeft="@dimen/dp_5" android:background="@null" android:textSize="14sp" - android:textColor="@color/color_222222" + android:textColor="@color/textPrimaryColor" + android:textColorHint="@color/textPrimaryColor" android:hint="@string/input_wifi_name_tip"/> diff --git a/app/src/main/res/layout/device_work_time_item.xml b/app/src/main/res/layout/device_work_time_item.xml index e391665..15b1b51 100644 --- a/app/src/main/res/layout/device_work_time_item.xml +++ b/app/src/main/res/layout/device_work_time_item.xml @@ -1,7 +1,7 @@ diff --git a/app/src/main/res/layout/history_fragment_layout.xml b/app/src/main/res/layout/history_fragment_layout.xml index 2459d1d..03f0d18 100644 --- a/app/src/main/res/layout/history_fragment_layout.xml +++ b/app/src/main/res/layout/history_fragment_layout.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:background="@color/mainBackgroundColor"> + layout="@layout/include_activity_back_whitebg_layout" /> + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/include_activity_back_whitebg_layout.xml b/app/src/main/res/layout/include_activity_back_whitebg_layout.xml index b89d6fa..a41879c 100644 --- a/app/src/main/res/layout/include_activity_back_whitebg_layout.xml +++ b/app/src/main/res/layout/include_activity_back_whitebg_layout.xml @@ -6,7 +6,7 @@ android:id="@+id/relative_title" android:layout_width="match_parent" android:layout_height="@dimen/dp_48" - android:background="@color/white"> + android:background="@color/mainBackgroundColor"> diff --git a/app/src/main/res/layout/main_activity_layout.xml b/app/src/main/res/layout/main_activity_layout.xml index c58081f..4b5c5f4 100644 --- a/app/src/main/res/layout/main_activity_layout.xml +++ b/app/src/main/res/layout/main_activity_layout.xml @@ -14,7 +14,7 @@ app:itemTextAppearanceInactive="@style/BottomNavTextInactive" app:menu="@menu/bottom_nav_menu" app:itemTextColor="@color/nav_bottom_text_select" - android:background="@color/color_white" + android:background="@color/mainBackgroundColor" app:itemBackground="@android:color/transparent" app:labelVisibilityMode="labeled" app:itemIconTint="@null" diff --git a/app/src/main/res/layout/mine_fragment_layout.xml b/app/src/main/res/layout/mine_fragment_layout.xml index 98cbb71..64e3413 100644 --- a/app/src/main/res/layout/mine_fragment_layout.xml +++ b/app/src/main/res/layout/mine_fragment_layout.xml @@ -42,7 +42,7 @@ android:layout_height="wrap_content" android:textStyle="bold" android:textSize="16sp" - android:textColor="@color/color_222222" + android:textColor="@color/textPrimaryColor" android:text="昵称"/> @@ -62,13 +62,14 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="16sp" - android:textColor="@color/color_666666" + android:textColor="@color/textPrimaryColor" android:text="13988886666"/> diff --git a/app/src/main/res/layout/tab_history_fragment_layout.xml b/app/src/main/res/layout/tab_history_fragment_layout.xml index 8629bdc..1a057e2 100644 --- a/app/src/main/res/layout/tab_history_fragment_layout.xml +++ b/app/src/main/res/layout/tab_history_fragment_layout.xml @@ -23,7 +23,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" - android:textColor="@color/color_222222" + android:textColor="@color/textPrimaryColor" android:text="@string/tab_filter_time"/> + android:background="@color/mainBackgroundColor"> diff --git a/app/src/main/res/mipmap-xhdpi/img_theme_bg.png b/app/src/main/res/mipmap-xhdpi/img_theme_bg.png new file mode 100644 index 0000000..a2ba6d7 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/img_theme_bg.png differ diff --git a/app/src/main/res/mipmap-xhdpi/img_theme_light.png b/app/src/main/res/mipmap-xhdpi/img_theme_light.png new file mode 100644 index 0000000..e6d77b5 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/img_theme_light.png differ diff --git a/app/src/main/res/mipmap-xhdpi/img_theme_night.png b/app/src/main/res/mipmap-xhdpi/img_theme_night.png new file mode 100644 index 0000000..75ba628 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/img_theme_night.png differ diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml new file mode 100644 index 0000000..3439139 --- /dev/null +++ b/app/src/main/res/values-night/colors.xml @@ -0,0 +1,8 @@ + + + #1A237E + #000063 + #FF80AB + #303030 + #E0E0E0 + \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 6315828..503385f 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,16 +1,7 @@ - - - \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 907bd8e..3bbea82 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -3,6 +3,9 @@ #3F51B5 #303F9F #FF4081 + #FFFFFF + #222222 + #00000000 #FFFFFF @@ -110,4 +113,5 @@ #0d000000 + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ae6d8ca..38195d0 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -8,7 +8,7 @@ @color/color_zhu - + + +