From 63e7aa59d22ada28fd14d39900f41a2e1ed2c325 Mon Sep 17 00:00:00 2001
From: Administrator <123>
Date: Mon, 15 Nov 2021 07:40:19 +0000
Subject: [PATCH] 启动页 及部分资源、依赖和框架文件
---
app/src/main/res/mipmap-xhdpi/top_right_g.png | 0
app/src/main/res/mipmap-xxhdpi/arrow_bottom_black.png | 0
app/src/main/res/menu/bottom_nav_menu.xml | 24
app/src/main/res/mipmap-hdpi/arrow_top_black.png | 0
app/src/main/res/mipmap-hdpi/ic_add_black_48dp.png | 0
app/src/main/res/mipmap-xxhdpi/bg_xiaomai.jpg | 0
app/src/main/res/drawable/theme_corner_border.xml | 32
app/src/main/res/drawable/bg_enable_circle_border.xml | 15
app/src/main/res/drawable/picture_icon_delete.png | 0
app/src/main/res/mipmap-xhdpi/icon_more_vert_white.png | 0
app/src/main/res/drawable/white_corner_border.xml | 31
app/src/main/res/mipmap-xxhdpi/selected.png | 0
app/src/main/res/mipmap-xhdpi/arrow_top_black.png | 0
app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeFragment.java | 44 +
app/src/main/res/mipmap-xxhdpi/top_left_g.png | 0
app/src/main/java/com/runt/open/mvvm/util/Configuration.java | 48 +
app/src/main/res/drawable-v21/btn_circle_blue.xml | 31
app/src/main/res/mipmap-xhdpi/coin_d.png | 0
app/src/main/res/mipmap-hdpi/ic_arrow_back_black_24dp.png | 0
app/src/main/java/com/runt/open/mvvm/ui/main/notifications/NotificationsViewModel.java | 19
app/src/main/res/mipmap-xxxhdpi/female.png | 0
app/src/main/java/com/runt/open/mvvm/ui/main/notifications/NotificationsFragment.java | 44 +
app/src/main/res/mipmap-hdpi/icon_more_vert_white.png | 0
app/src/main/res/mipmap-mdpi/ic_arrow_back_white_24dp.png | 0
app/src/main/java/com/runt/open/mvvm/util/SpUtils.java | 4
app/src/main/res/mipmap-xhdpi/data_null.png | 0
app/src/main/res/mipmap-xxhdpi/female.png | 0
app/src/main/res/layout/fragment_notifications.xml | 2
app/src/main/res/drawable/bg_red_border_circle.xml | 14
app/src/main/res/mipmap-xxhdpi/bg_yumi.jpg | 0
app/src/main/res/mipmap-xxhdpi/bg_uav.jpg | 0
app/src/main/res/mipmap-xxhdpi/location_dark.png | 0
app/src/main/res/mipmap-xxxhdpi/selected.png | 0
app/src/main/res/drawable-v21/bg_white_circle.xml | 30
app/src/main/res/mipmap-xxhdpi/icon_white_mine.png | 0
app/src/main/res/drawable/bg_gradient_blue.xml | 12
app/src/main/res/drawable/bg_red_circle.xml | 11
app/src/main/res/values/themes.xml | 2
app/src/main/java/com/runt/open/mvvm/ui/login/LoggedInUser.java | 10
app/src/main/res/mipmap-xhdpi/icon_delete.png | 0
app/src/main/res/values/colors.xml | 108 ++
app/src/main/res/mipmap-xxxhdpi/icon_more_hor_white.png | 0
app/src/main/res/mipmap-hdpi/icon_more_hor_white.png | 0
app/src/main/res/mipmap-xhdpi/arrow_bottom_black.png | 0
app/src/main/java/com/runt/open/mvvm/util/AlgorithmUtils.java | 75 +
app/src/main/res/navigation/mobile_navigation.xml | 6
app/src/main/res/mipmap-hdpi/icon_delete.png | 0
app/src/main/res/mipmap-xhdpi/icon_coin.png | 0
app/src/main/res/drawable/bg_white.xml | 21
app/src/main/res/mipmap-xhdpi/selected.png | 0
app/libs/alipaySdk-15.7.5.aar | 0
app/src/main/res/drawable/bg_enable_circle.xml | 11
app/src/main/res/mipmap-xhdpi/top_left_g.png | 0
app/src/main/res/drawable-v21/btn_circle_red.xml | 25
app/src/main/res/mipmap-xxhdpi/ic_stay_primary_landscape_black_48dp.png | 0
app/src/main/res/drawable/enable_corner_border.xml | 33
app/src/main/res/mipmap-hdpi/data_null.png | 0
app/src/main/res/mipmap-xhdpi/icon_more_hor_white.png | 0
app/src/main/res/drawable/picture_icon_video.png | 0
app/src/main/res/drawable-v21/btn_blue_border.xml | 37
app/src/main/res/mipmap-mdpi/icon_white_mine.png | 0
app/src/main/res/drawable/bg_blue_circle.xml | 11
app/src/main/java/com/runt/open/mvvm/ui/main/dashboard/DashboardViewModel.java | 19
app/src/main/res/drawable-v21/theme_corner_border.xml | 38
app/src/main/res/mipmap-xxhdpi/icon_coin.png | 0
app/src/main/res/mipmap-hdpi/icon_seekbar_thumb.png | 0
app/src/main/res/mipmap-mdpi/ic_add_black_48dp.png | 0
app/build.gradle | 21
app/src/main/res/mipmap-xhdpi/weipay.png | 0
app/src/main/res/mipmap-xxxhdpi/arrow_bottom_white.png | 0
app/src/main/res/values/dimens.xml | 45 +
app/src/main/res/drawable/bg_white_corner.xml | 11
app/src/main/res/mipmap-mdpi/icon_more_vert_black.png | 0
app/src/main/res/layout/activity_splash.xml | 21
app/src/main/java/com/runt/open/mvvm/ui/login/LoginDataSource.java | 7
app/src/main/res/mipmap-xxxhdpi/select.png | 0
app/src/main/res/mipmap-xxhdpi/ic_stay_primary_portrait_black_48dp.png | 0
app/src/main/res/mipmap-xxhdpi/birth.png | 0
app/src/main/res/mipmap-xhdpi/ic_stay_primary_landscape_black_48dp.png | 0
app/src/main/res/mipmap-xxxhdpi/arrow_top_black.png | 0
app/src/main/res/mipmap-xxxhdpi/top_left_g.png | 0
app/src/main/res/mipmap-xhdpi/select.png | 0
app/src/main/res/mipmap-xxhdpi/icon_more_vert_white.png | 0
app/src/main/res/mipmap-mdpi/arrow_top_black.png | 0
app/src/main/res/mipmap-xxxhdpi/icon_white_setting.png | 0
app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java | 278 ++++++
app/src/main/res/mipmap-xxxhdpi/arrow_right.png | 0
app/src/main/res/drawable/picture_icon_shadow_bg.png | 0
app/src/main/res/mipmap-xxxhdpi/alipay.png | 0
app/src/main/res/drawable-v21/btn_gray_circle.xml | 24
app/src/main/res/drawable/bg_theme_border.xml | 14
settings.gradle | 2
app/src/main/res/mipmap-xxhdpi/alipay.png | 0
app/src/main/res/mipmap-xxxhdpi/ic_stay_primary_portrait_black_48dp.png | 0
app/src/main/res/mipmap-xxxhdpi/welcom.png | 0
app/src/main/res/mipmap-xxxhdpi/ic_stay_primary_landscape_black_48dp.png | 0
app/src/main/java/com/runt/open/mvvm/listener/CustomClickListener.java | 37
app/src/main/AndroidManifest.xml | 38
app/src/main/res/mipmap-xhdpi/location_e.png | 0
app/src/main/res/mipmap-xxhdpi/app_icon.png | 0
app/src/main/res/mipmap-xxxhdpi/weipay.png | 0
app/src/main/res/mipmap-xhdpi/ic_arrow_back_white_24dp.png | 0
app/src/main/res/mipmap-xxhdpi/arrow_right.png | 0
app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeViewModel.java | 19
app/src/main/res/color/home_nav_color.xml | 5
app/src/main/res/mipmap-xxxhdpi/icon_white_back.png | 0
app/src/main/res/mipmap-xxxhdpi/icon_more_vert_white.png | 0
app/src/main/res/mipmap-mdpi/arrow_bottom_black.png | 0
app/src/main/res/mipmap-xxhdpi/weipay.png | 0
app/src/main/res/mipmap-xxhdpi/location_e.png | 0
app/src/main/res/mipmap-xxhdpi/icon_white_setting.png | 0
app/src/main/res/mipmap-mdpi/icon_more_hor_white.png | 0
app/src/main/res/mipmap-xxxhdpi/icon_home.png | 0
app/src/main/res/drawable/check_selector.xml | 9
app/src/main/res/mipmap-mdpi/ic_arrow_back_black_24dp.png | 0
app/src/main/res/mipmap-xxxhdpi/arrow_top_white.png | 0
app/src/main/res/mipmap-hdpi/ic_arrow_back_white_24dp.png | 0
app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java | 30
app/src/main/res/drawable-v21/btn_blue_corner.xml | 31
app/src/main/res/mipmap-xxxhdpi/default_head.png | 0
app/src/main/res/mipmap-xxhdpi/icon_more_hor_black.png | 0
app/src/main/java/com/runt/open/mvvm/ui/splash/SplashViewModel.java | 87 ++
app/src/main/res/mipmap-xxhdpi/arrow_top_black.png | 0
app/src/main/res/mipmap-xxxhdpi/birth.png | 0
app/src/main/res/mipmap-xhdpi/icon_more_vert_black.png | 0
app/src/main/res/mipmap-xhdpi/top_right_e.png | 0
app/src/main/res/mipmap-xxhdpi/icon_white_back.png | 0
app/src/main/res/mipmap-hdpi/icon_white_mine.png | 0
app/src/main/res/mipmap-xhdpi/sign.png | 0
app/src/main/res/mipmap-xxhdpi/icon_more_vert_black.png | 0
app/src/main/res/mipmap-xxxhdpi/icon_white_mine.png | 0
app/src/main/res/mipmap-hdpi/bg_seekbar_display1.png | 0
app/src/main/res/mipmap-xxhdpi/select.png | 0
app/src/main/res/mipmap-xxxhdpi/top_right_e.png | 0
app/proguard-rules.pro | 6
app/src/main/res/mipmap-hdpi/icon_more_hor_black.png | 0
app/src/main/res/drawable-v21/bg_circle_default.xml | 24
app/src/main/res/drawable-v21/btn_gray_border.xml | 37
app/src/main/res/values/styles.xml | 51 +
app/src/main/res/mipmap-xxxhdpi/icon_mine.png | 0
app/src/main/res/mipmap-xxxhdpi/male.png | 0
app/src/main/res/mipmap-hdpi/ic_stay_primary_landscape_black_48dp.png | 0
app/src/main/res/drawable-v21/btn_circle.xml | 34
app/src/main/res/mipmap-xhdpi/top_left_e.png | 0
app/src/main/res/drawable/bg_black_circle.xml | 11
app/src/main/res/mipmap-xhdpi/ic_add_black_48dp.png | 0
app/src/main/res/mipmap-xhdpi/alipay.png | 0
app/src/main/res/mipmap-xhdpi/arrow_top_white.png | 0
app/src/main/res/mipmap-hdpi/ic_stay_primary_portrait_black_48dp.png | 0
app/src/main/res/drawable/bg_them_circle.xml | 12
app/src/main/res/mipmap-xhdpi/coin.png | 0
app/src/main/res/mipmap-xxhdpi/arrow_bottom_white.png | 0
app/src/main/res/mipmap-xhdpi/icon_more_hor_black.png | 0
app/src/main/res/mipmap-xxhdpi/bg_bozhong.jpg | 0
app/src/main/res/mipmap-hdpi/arrow_bottom_black.png | 0
app/src/main/res/mipmap-xxxhdpi/icon_news.png | 0
app/src/main/res/mipmap-xhdpi/birth.png | 0
app/src/main/res/mipmap-xhdpi/ic_delete.png | 0
app/src/main/res/mipmap-xxhdpi/ic_arrow_back_white_24dp.png | 0
app/src/main/res/mipmap-xxxhdpi/icon_more_hor_black.png | 0
app/src/main/res/color/verify_code.xml | 5
app/src/main/res/layout/fragment_home.xml | 2
app/src/main/res/layout/item_btn_text_with_text.xml | 74 +
app/src/main/res/mipmap-xhdpi/icon_white_setting.png | 0
app/src/main/res/mipmap-xxxhdpi/location_e.png | 0
app/src/main/res/drawable/bg_seekbar_progress_drawable.xml | 26
app/src/main/res/mipmap-xxxhdpi/icon_coin.png | 0
app/src/main/res/mipmap-xhdpi/arrow_right.png | 0
app/src/main/res/drawable-v21/btn_blue_circle_border.xml | 37
app/src/main/res/drawable/bg_white_corner_8.xml | 5
app/src/main/res/mipmap-xhdpi/arrow_bottom_white.png | 0
app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java | 33
app/src/main/res/mipmap-mdpi/arrow_top_white.png | 0
app/src/main/java/com/runt/open/mvvm/MyApplication.java | 36
app/src/main/res/drawable-v21/btn_white_rb_corner.xml | 35
app/src/main/res/drawable-v21/white_corner_border.xml | 38
app/src/main/res/mipmap-xxhdpi/ic_arrow_back_black_24dp.png | 0
app/src/main/res/drawable-v21/btn_white_lb_corner.xml | 36
app/src/main/res/mipmap-xhdpi/user_back.png | 0
app/src/main/res/mipmap-mdpi/ic_stay_primary_portrait_black_48dp.png | 0
app/src/main/res/mipmap-mdpi/icon_white_setting.png | 0
app/src/main/res/mipmap-xxhdpi/default_head.png | 0
app/src/main/res/drawable-v21/bg_white.xml | 27
app/src/main/res/mipmap-xxhdpi/top_right_e.png | 0
app/src/main/res/mipmap-hdpi/icon_white_setting.png | 0
app/src/main/res/mipmap-xxxhdpi/ic_add_black_48dp.png | 0
app/src/main/res/mipmap-xxhdpi/data_null.png | 0
app/src/main/res/mipmap-xhdpi/ic_stay_primary_portrait_black_48dp.png | 0
app/src/main/res/mipmap-xxxhdpi/data_null.png | 0
app/src/main/res/drawable/item_check_pass.xml | 7
app/src/main/res/mipmap-xxhdpi/sign.png | 0
app/src/main/java/com/runt/open/mvvm/ui/splash/SplashActivity.java | 93 ++
app/src/main/res/drawable-v21/enable_corner_border.xml | 38
app/src/main/res/mipmap-hdpi/icon_more_vert_black.png | 0
app/src/main/res/mipmap-hdpi/arrow_bottom_white.png | 0
app/src/main/res/mipmap-xxhdpi/arrow_top_white.png | 0
app/src/main/res/mipmap-xhdpi/ic_arrow_back_black_24dp.png | 0
app/src/main/res/mipmap-xhdpi/icon_white_mine.png | 0
app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java | 24
app/src/main/res/drawable/ic_launcher_background.xml | 134 +-
app/src/main/res/mipmap-mdpi/icon_more_hor_black.png | 0
app/src/main/res/drawable/bg_num.xml | 25
app/src/main/res/mipmap-hdpi/bg_seekbar_display2.png | 0
app/src/main/res/mipmap-xxhdpi/ic_add_black_48dp.png | 0
app/src/main/res/mipmap-xxhdpi/male.png | 0
app/src/main/res/drawable/calender_next.xml | 7
app/src/main/res/mipmap-hdpi/arrow_top_white.png | 0
app/src/main/res/layout/fragment_dashboard.xml | 2
app/src/main/res/mipmap-xhdpi/default_head.png | 0
app/src/main/res/drawable/calender_last.xml | 7
app/src/main/res/mipmap-xxxhdpi/icon_more_vert_black.png | 0
app/src/main/res/mipmap-mdpi/arrow_bottom_white.png | 0
app/src/main/res/mipmap-xhdpi/icon_white_back.png | 0
app/src/main/java/com/runt/open/mvvm/ui/main/dashboard/DashboardFragment.java | 44 +
app/src/main/res/drawable/bg_white_circle.xml | 11
app/src/main/res/mipmap-xhdpi/location_dark.png | 0
app/src/main/res/mipmap-mdpi/icon_more_vert_white.png | 0
/dev/null | 0
app/src/main/res/mipmap-xxxhdpi/arrow_bottom_black.png | 0
app/src/main/res/mipmap-xxxhdpi/location_dark.png | 0
app/src/main/res/mipmap-mdpi/data_null.png | 0
app/src/main/res/anim/anima_make_none.xml | 16
app/src/main/res/mipmap-mdpi/ic_stay_primary_landscape_black_48dp.png | 0
app/src/main/res/drawable/bg_gradient_gray.xml | 12
app/src/main/res/mipmap-xxhdpi/icon_more_hor_white.png | 0
225 files changed, 2,254 insertions(+), 131 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 1789858..3633f0b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -38,10 +38,24 @@
buildFeatures {
viewBinding true
}
+ android.applicationVariants.all { variant ->
+ variant.outputs.all {
+ def viron
+
+ if (buildType.name.equals('release')) {
+ viron = "正式版";
+ }else if (buildType.name.equals('debug')) {
+ viron = "开发版";
+ }
+ outputFileName = "MVVM开源项目-" + viron + "-v" +
+ defaultConfig.versionName +"-" + defaultConfig.versionCode +"-" + new Date().format("MMddHHmm", TimeZone.getTimeZone("UTC"))+
+ ".apk"
+ }
+ }
}
dependencies {
-
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
@@ -63,4 +77,9 @@
implementation 'com.permissionx.guolindev:permissionx:1.2.2' //权限依赖让你推广你就发群里?没有别的群了?
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
+ implementation 'com.pangle.cn:ads-sdk-pro:4.0.2.2'//字节跳动 穿山甲广告
+ implementation 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9
+ implementation 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.0
+ implementation 'com.facebook.rebound:rebound:0.3.6'//Rebound “弹簧”动画效果的第三方工具包,由FaceBook
+ implementation 'com.github.zhaolei9527:BottomMenu:v1.0.1'//底部菜单弹框
}
\ No newline at end of file
diff --git a/app/libs/alipaySdk-15.7.5.aar b/app/libs/alipaySdk-15.7.5.aar
new file mode 100644
index 0000000..d977ea2
--- /dev/null
+++ b/app/libs/alipaySdk-15.7.5.aar
Binary files differ
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index 481bb43..ea83ef0 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -18,4 +18,8 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
+#-renamesourcefileattribute SourceFile
+#穿山甲混淆代码
+-keep class com.bytedance.sdk.openadsdk.** { *; }
+-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
+-keep class com.pgl.sys.ces.* {*;}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 58dc725..1b81d3c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,16 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
package="com.runt.open.mvvm" >
+ <uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.GET_TASKS" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+ <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+ <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+ <uses-permission android:name="android.permission.WAKE_LOCK" />
+ <!--写入SD卡的权限:如果你希望保存相机拍照后的照片-->
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <!--读取SD卡的权限:打开相册选取图片所必须的权限-->
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
+ tools:ignore="ProtectedPermissions" />
+ <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+ <uses-permission android:name="android.permission.READ_LOGS"
+ tools:ignore="ProtectedPermissions" />
+ <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<application
android:allowBackup="true"
- android:icon="@mipmap/ic_launcher"
+ android:icon="@mipmap/app_icon"
+ android:name=".MyApplication"
android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
+ android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/Theme.OpemMvvm" >
<activity
- android:name=".MainActivity"
+ android:name=".ui.splash.SplashActivity"
android:exported="true"
android:label="@string/app_name" >
<intent-filter>
@@ -19,6 +41,16 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+ <activity android:name=".MainActivity"
+ android:launchMode="singleTask"
+ tools:ignore="WrongManifestParent"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.intent.action.VIEW" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <action android:name="com.zfwl.merchant.activities.MainActivity" />
+ </intent-filter>
+ </activity>
</application>
</manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/MyApplication.java b/app/src/main/java/com/runt/open/mvvm/MyApplication.java
index 8ed880c..ab1a97f 100644
--- a/app/src/main/java/com/runt/open/mvvm/MyApplication.java
+++ b/app/src/main/java/com/runt/open/mvvm/MyApplication.java
@@ -8,6 +8,9 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import com.bytedance.sdk.openadsdk.TTAdConfig;
+import com.bytedance.sdk.openadsdk.TTAdConstant;
+import com.bytedance.sdk.openadsdk.TTAdSdk;
import com.runt.open.mvvm.util.MyLog;
import com.scwang.smart.refresh.footer.ClassicsFooter;
import com.scwang.smart.refresh.header.ClassicsHeader;
@@ -17,6 +20,7 @@
import com.scwang.smart.refresh.layout.api.RefreshLayout;
import com.scwang.smart.refresh.layout.listener.DefaultRefreshFooterCreator;
import com.scwang.smart.refresh.layout.listener.DefaultRefreshHeaderCreator;
+import com.tencent.bugly.crashreport.CrashReport;
import java.util.ArrayList;
import java.util.List;
@@ -42,6 +46,7 @@
@Override
public void onCreate() {
super.onCreate();
+ MyLog.i(TAG,"onCreate");
application = this;
//CrashReport.initCrashReport(getApplicationContext(), "8d88679ae9", false);//注册bugly
//设置全局的Header构建器
@@ -109,6 +114,29 @@
}
}
});
+ CrashReport.initCrashReport(getApplicationContext(), "8d88679ae9", false);//注册bugly
+ TTAdConfig.Builder builder = new TTAdConfig.Builder()
+ .appId("5106813")
+ .useTextureView(true) //使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView
+ .appName(getString(R.string.app_name))
+ .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)
+ .allowShowNotify(true) //是否允许sdk展示通知栏提示
+ .allowShowPageWhenScreenLock(true) //是否在锁屏场景支持展示广告落地页
+ .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI) //允许直接下载的网络状态集合
+ .supportMultiProcess(true) //是否支持多进程,true支持
+ .asyncInit(true) ;//异步初始化sdk,开启可减少初始化耗时
+ //.httpStack(new MyOkStack3())//自定义网络库,demo中给出了okhttp3版本的样例,其余请自行开发或者咨询工作人员。
+ TTAdSdk.init(this, builder.build(), new TTAdSdk.InitCallback() {
+ @Override
+ public void success() {
+ MyLog.i(TAG,"TTAdSdk success");
+ }
+
+ @Override
+ public void fail(int i, String s) {
+ MyLog.e(TAG,"TTAdSdk fail");
+ }
+ });
}
/**
@@ -121,14 +149,6 @@
System.exit(0);
}
- public void clearActivities(){
- for(Activity activity:activities){
- /*if(activity instanceof LoginActivity){
- continue;
- }*/
- activity.finish();
- }
- }
public boolean isInfront(){
return isInfront;
diff --git a/app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java b/app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java
index 355a46d..ffe24f5 100644
--- a/app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java
+++ b/app/src/main/java/com/runt/open/mvvm/base/activities/BaseActivity.java
@@ -2,17 +2,11 @@
import android.Manifest;
import android.app.AlertDialog;
-import android.app.ProgressDialog;
import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
import android.content.pm.ActivityInfo;
-import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
-import android.provider.Settings;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
@@ -25,7 +19,6 @@
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AppCompatActivity;
-import androidx.core.content.FileProvider;
import androidx.lifecycle.ViewModelProvider;
import androidx.viewbinding.ViewBinding;
@@ -33,32 +26,12 @@
import com.runt.open.mvvm.R;
import com.runt.open.mvvm.base.model.BaseViewModel;
import com.runt.open.mvvm.base.model.ViewModelFactory;
-import com.runt.open.mvvm.data.ApkUpGradeResult;
-import com.runt.open.mvvm.util.MyLog;
-import com.runt.open.mvvm.util.SpUtils;
-import com.permissionx.guolindev.PermissionX;
-import com.permissionx.guolindev.callback.ExplainReasonCallbackWithBeforeParam;
-import com.permissionx.guolindev.callback.ForwardToSettingsCallback;
-import com.permissionx.guolindev.callback.RequestCallback;
-import com.permissionx.guolindev.request.ExplainScope;
-import com.permissionx.guolindev.request.ForwardScope;
import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
-import java.util.Date;
-import java.util.List;
import dmax.dialog.SpotsDialog;
-import okhttp3.Call;
-import okhttp3.Callback;
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import okhttp3.ResponseBody;
/**
* activity 封装
@@ -134,6 +107,12 @@
public abstract void initViews();
+
+ public boolean isNull(Object object){
+ return object == null || object.toString().trim().equals("") || object.equals("null");
+ }
+
+
AlertDialog loadingDialog;
/**
* 显示加载弹框
diff --git a/app/src/main/java/com/runt/open/mvvm/listener/CustomClickListener.java b/app/src/main/java/com/runt/open/mvvm/listener/CustomClickListener.java
new file mode 100644
index 0000000..08a5e24
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/listener/CustomClickListener.java
@@ -0,0 +1,37 @@
+package com.runt.open.mvvm.listener;
+
+import android.view.View;
+
+/**
+ * My father is Object, ites purpose of
+ *
+ * @purpose Created by Runt (qingingrunt2010@qq.com) on 2020-4-14.
+ */
+public abstract class CustomClickListener implements View.OnClickListener {
+ private long mLastClickTime;
+ private long timeInterval = 500L;
+
+ public CustomClickListener() {
+
+ }
+
+ public CustomClickListener(long interval) {
+ this.timeInterval = interval;
+ }
+
+ @Override
+ public void onClick(View v) {
+ long nowTime = System.currentTimeMillis();
+ if (nowTime - mLastClickTime > timeInterval) {
+ // 单次点击事件
+ onSingleClick(v);
+ mLastClickTime = nowTime;
+ } else {
+ // 快速点击事件
+ onFastClick(v);
+ }
+ }
+
+ protected abstract void onSingleClick(View view);
+ protected void onFastClick(View v){};
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java b/app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java
new file mode 100644
index 0000000..7e03dc2
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/retrofit/api/LoginApiCenter.java
@@ -0,0 +1,24 @@
+package com.runt.open.mvvm.retrofit.api;
+
+import com.runt.open.mvvm.ui.login.LoggedInUser;
+
+import io.reactivex.Observable;
+import retrofit2.http.Field;
+import retrofit2.http.FormUrlEncoded;
+import retrofit2.http.POST;
+
+/**
+ * Created by Administrator on 2021/11/15 0015.
+ */
+public interface LoginApiCenter {
+ @FormUrlEncoded
+ @POST("login")
+ Observable<LoggedInUser> login(@Field("phone") String phone,@Field("pass") String pass);
+
+
+ @FormUrlEncoded
+ @POST("login")
+ Observable<LoggedInUser> loginByCode(@Field("phone") String phone,@Field("code") String code);
+
+
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/dashboard/DashboardFragment.java b/app/src/main/java/com/runt/open/mvvm/ui/dashboard/DashboardFragment.java
deleted file mode 100644
index 7266305..0000000
--- a/app/src/main/java/com/runt/open/mvvm/ui/dashboard/DashboardFragment.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.runt.open.mvvm.ui.dashboard;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-import com.runt.open.mvvm.R;
-import com.runt.open.mvvm.databinding.FragmentDashboardBinding;
-
-public class DashboardFragment extends Fragment {
-
- private DashboardViewModel dashboardViewModel;
-private FragmentDashboardBinding binding;
-
- public View onCreateView(@NonNull LayoutInflater inflater,
- ViewGroup container, Bundle savedInstanceState) {
- dashboardViewModel =
- new ViewModelProvider(this).get(DashboardViewModel.class);
-
- binding = FragmentDashboardBinding.inflate(inflater, container, false);
- View root = binding.getRoot();
-
- final TextView textView = binding.textDashboard;
- dashboardViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
- @Override
- public void onChanged(@Nullable String s) {
- textView.setText(s);
- }
- });
- return root;
- }
-
-@Override
- public void onDestroyView() {
- super.onDestroyView();
- binding = null;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/dashboard/DashboardViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/dashboard/DashboardViewModel.java
deleted file mode 100644
index d7234f7..0000000
--- a/app/src/main/java/com/runt/open/mvvm/ui/dashboard/DashboardViewModel.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.runt.open.mvvm.ui.dashboard;
-
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-import androidx.lifecycle.ViewModel;
-
-public class DashboardViewModel extends ViewModel {
-
- private MutableLiveData<String> mText;
-
- public DashboardViewModel() {
- mText = new MutableLiveData<>();
- mText.setValue("This is dashboard fragment");
- }
-
- public LiveData<String> getText() {
- return mText;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/home/HomeFragment.java b/app/src/main/java/com/runt/open/mvvm/ui/home/HomeFragment.java
deleted file mode 100644
index bade84b..0000000
--- a/app/src/main/java/com/runt/open/mvvm/ui/home/HomeFragment.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.runt.open.mvvm.ui.home;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-import com.runt.open.mvvm.R;
-import com.runt.open.mvvm.databinding.FragmentHomeBinding;
-
-public class HomeFragment extends Fragment {
-
- private HomeViewModel homeViewModel;
-private FragmentHomeBinding binding;
-
- public View onCreateView(@NonNull LayoutInflater inflater,
- ViewGroup container, Bundle savedInstanceState) {
- homeViewModel =
- new ViewModelProvider(this).get(HomeViewModel.class);
-
- binding = FragmentHomeBinding.inflate(inflater, container, false);
- View root = binding.getRoot();
-
- final TextView textView = binding.textHome;
- homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
- @Override
- public void onChanged(@Nullable String s) {
- textView.setText(s);
- }
- });
- return root;
- }
-
-@Override
- public void onDestroyView() {
- super.onDestroyView();
- binding = null;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/home/HomeViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/home/HomeViewModel.java
deleted file mode 100644
index a728c8a..0000000
--- a/app/src/main/java/com/runt/open/mvvm/ui/home/HomeViewModel.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.runt.open.mvvm.ui.home;
-
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-import androidx.lifecycle.ViewModel;
-
-public class HomeViewModel extends ViewModel {
-
- private MutableLiveData<String> mText;
-
- public HomeViewModel() {
- mText = new MutableLiveData<>();
- mText.setValue("This is home fragment");
- }
-
- public LiveData<String> getText() {
- return mText;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/login/LoggedInUser.java b/app/src/main/java/com/runt/open/mvvm/ui/login/LoggedInUser.java
new file mode 100644
index 0000000..8a5ad19
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/login/LoggedInUser.java
@@ -0,0 +1,10 @@
+package com.runt.open.mvvm.ui.login;
+
+import com.runt.open.mvvm.data.BaseApiResult;
+
+/**
+ * Created by Administrator on 2021/11/15 0015.
+ */
+public class LoggedInUser extends BaseApiResult<UserBean> {
+
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/login/LoginDataSource.java b/app/src/main/java/com/runt/open/mvvm/ui/login/LoginDataSource.java
new file mode 100644
index 0000000..6b88fa8
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/login/LoginDataSource.java
@@ -0,0 +1,7 @@
+package com.runt.open.mvvm.ui.login;
+
+/**
+ * Created by Administrator on 2021/11/15 0015.
+ */
+public class LoginDataSource {
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java
new file mode 100644
index 0000000..866420b
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/login/LoginViewModel.java
@@ -0,0 +1,30 @@
+package com.runt.open.mvvm.ui.login;
+
+import androidx.lifecycle.MutableLiveData;
+
+import com.runt.open.mvvm.base.model.BaseViewModel;
+import com.runt.open.mvvm.retrofit.api.LoginApiCenter;
+import com.runt.open.mvvm.retrofit.observable.HttpObserver;
+import com.runt.open.mvvm.retrofit.utils.RetrofitUtils;
+
+import io.reactivex.Observable;
+
+/**
+ * Created by Administrator on 2021/11/15 0015.
+ */
+public class LoginViewModel extends BaseViewModel {
+
+ MutableLiveData<LoggedInUser> loginResult = new MutableLiveData<>();
+
+ public MutableLiveData<LoggedInUser> getLoginResult() {
+ return loginResult;
+ }
+
+ public void login(String username, String password) {
+ // can be launched in a separate asynchronous job
+ final Observable<LoggedInUser> userObservable = RetrofitUtils.getInstance().getRetrofit(LoginApiCenter.class).login(username, password);
+ httpObserverOn(userObservable,new HttpObserver<LoggedInUser>(loginResult){});
+ }
+
+
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java b/app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java
new file mode 100644
index 0000000..ccb8082
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/login/UserBean.java
@@ -0,0 +1,278 @@
+package com.runt.open.mvvm.ui.login;
+
+/**
+ * Created by Administrator on 2021/11/15 0015.
+ */
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 用户表 AdvertCustomer
+ * @author Runt_自动生成
+ * @email qingingrunt2010@qq.com
+ * @date 2020-04-17 20:28:26
+ */
+public class UserBean implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private static UserBean user;
+
+ public static UserBean getUser() {
+ return user;
+ }
+
+ public static void setUser(UserBean user) {
+ UserBean.user = user;
+ }
+
+ /** 主键 **/
+ private String id;
+
+
+ /** 手机号 **/
+ private String phone;
+
+ /** 登录token **/
+ private String token;
+
+ /** 昵称 **/
+ private String username;
+
+ /** 头像 **/
+ private String head;
+
+ /** 金币数量 **/
+ private int coin;
+
+ /* 连续签到天数 */
+ private int sign;
+
+ /** 用户类型(0推广,1店员,2商家,3广告商) **/
+ private Integer type;
+
+ /** 上级管理者 **/
+ private String upuser;
+
+ /** 余额 **/
+ private BigDecimal balance;
+
+ /** 会员等级(0普通用户,1会员) **/
+ private Integer vlevel;
+
+ /** 会员到期时间 **/
+ private Date vtime;
+
+ /** 状态0通过,1审核中,-1封收益 , -2 限制支付 , -3限制广告 ,-4限制发送短信,-5永久限制发送短信,-6 限制登录 **/
+ private String status;
+
+ /** 真实姓名 **/
+ private String realname;
+
+ /** 银行卡 **/
+ private String bank;
+
+ /** 支付宝 **/
+ private String alipay;
+
+ /** 微信 **/
+ private String wechat;
+
+ /** QQ **/
+ private String qq;
+
+ /** 创建时间 **/
+ private Date ctime;
+
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+
+ public String getToken() {
+ return token;
+ }
+
+ public void setToken(String token) {
+ this.token = token;
+ }
+
+
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+
+ public String getHead() {
+ return head;
+ }
+
+ public void setHead(String head) {
+ this.head = head;
+ }
+
+
+ public Integer getType() {
+ return type;
+ }
+
+ public void setType(Integer type) {
+ this.type = type;
+ }
+
+
+ public String getUpuser() {
+ return upuser;
+ }
+
+ public void setUpuser(String upuser) {
+ this.upuser = upuser;
+ }
+
+
+ public BigDecimal getBalance() {
+ return balance;
+ }
+
+ public void setBalance(BigDecimal balance) {
+ this.balance = balance;
+ }
+
+
+ public Integer getVlevel() {
+ return vlevel;
+ }
+
+ public void setVlevel(Integer vlevel) {
+ this.vlevel = vlevel;
+ }
+
+
+ public Date getVtime() {
+ return vtime;
+ }
+
+ public void setVtime(Date vtime) {
+ this.vtime = vtime;
+ }
+
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+
+ public String getRealname() {
+ return realname;
+ }
+
+ public void setRealname(String realname) {
+ this.realname = realname;
+ }
+
+ public String getBank() {
+ return bank;
+ }
+
+ public void setBank(String bank) {
+ this.bank = bank;
+ }
+
+ public String getAlipay() {
+ return alipay;
+ }
+
+ public void setAlipay(String alipay) {
+ this.alipay = alipay;
+ }
+
+ public String getWechat() {
+ return wechat;
+ }
+
+ public void setWechat(String wechat) {
+ this.wechat = wechat;
+ }
+
+
+ public String getQq() {
+ return qq;
+ }
+
+ public void setQq(String qq) {
+ this.qq = qq;
+ }
+
+
+ public Date getCtime() {
+ return ctime;
+ }
+
+ public void setCtime(Date ctime) {
+ this.ctime = ctime;
+ }
+
+ public int getCoin() {
+ return coin;
+ }
+
+ public void setCoin(int coin) {
+ this.coin = coin;
+ }
+
+ public int getSign() {
+ return sign;
+ }
+
+ public void setSign(int sign) {
+ this.sign = sign;
+ }
+
+ @Override
+ public String toString() {
+ return "UserBean{" +
+ "id='" + id + '\'' +
+ ", phone='" + phone + '\'' +
+ ", token='" + token + '\'' +
+ ", username='" + username + '\'' +
+ ", head='" + head + '\'' +
+ ", coin=" + coin +
+ ", sign=" + sign +
+ ", type=" + type +
+ ", upuser='" + upuser + '\'' +
+ ", balance=" + balance +
+ ", vlevel=" + vlevel +
+ ", vtime=" + vtime +
+ ", status=" + status +
+ ", wechat='" + wechat + '\'' +
+ ", qq='" + qq + '\'' +
+ ", ctime=" + ctime +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/dashboard/DashboardFragment.java b/app/src/main/java/com/runt/open/mvvm/ui/main/dashboard/DashboardFragment.java
new file mode 100644
index 0000000..75b9a1e
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/dashboard/DashboardFragment.java
@@ -0,0 +1,44 @@
+package com.runt.open.mvvm.ui.main.dashboard;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.runt.open.mvvm.databinding.FragmentDashboardBinding;
+
+public class DashboardFragment extends Fragment {
+
+ private DashboardViewModel dashboardViewModel;
+private FragmentDashboardBinding binding;
+
+ public View onCreateView(@NonNull LayoutInflater inflater,
+ ViewGroup container, Bundle savedInstanceState) {
+ dashboardViewModel =
+ new ViewModelProvider(this).get(DashboardViewModel.class);
+
+ binding = FragmentDashboardBinding.inflate(inflater, container, false);
+ View root = binding.getRoot();
+
+ final TextView textView = binding.textDashboard;
+ dashboardViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
+ @Override
+ public void onChanged(@Nullable String s) {
+ textView.setText(s);
+ }
+ });
+ return root;
+ }
+
+@Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ binding = null;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/dashboard/DashboardViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/main/dashboard/DashboardViewModel.java
new file mode 100644
index 0000000..b2d3f43
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/dashboard/DashboardViewModel.java
@@ -0,0 +1,19 @@
+package com.runt.open.mvvm.ui.main.dashboard;
+
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.ViewModel;
+
+public class DashboardViewModel extends ViewModel {
+
+ private MutableLiveData<String> mText;
+
+ public DashboardViewModel() {
+ mText = new MutableLiveData<>();
+ mText.setValue("This is dashboard fragment");
+ }
+
+ public LiveData<String> getText() {
+ return mText;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeFragment.java b/app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeFragment.java
new file mode 100644
index 0000000..4e34a2b
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeFragment.java
@@ -0,0 +1,44 @@
+package com.runt.open.mvvm.ui.main.home;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.runt.open.mvvm.databinding.FragmentHomeBinding;
+
+public class HomeFragment extends Fragment {
+
+ private HomeViewModel homeViewModel;
+private FragmentHomeBinding binding;
+
+ public View onCreateView(@NonNull LayoutInflater inflater,
+ ViewGroup container, Bundle savedInstanceState) {
+ homeViewModel =
+ new ViewModelProvider(this).get(HomeViewModel.class);
+
+ binding = FragmentHomeBinding.inflate(inflater, container, false);
+ View root = binding.getRoot();
+
+ final TextView textView = binding.textHome;
+ homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
+ @Override
+ public void onChanged(@Nullable String s) {
+ textView.setText(s);
+ }
+ });
+ return root;
+ }
+
+@Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ binding = null;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeViewModel.java
new file mode 100644
index 0000000..34dbdc4
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeViewModel.java
@@ -0,0 +1,19 @@
+package com.runt.open.mvvm.ui.main.home;
+
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.ViewModel;
+
+public class HomeViewModel extends ViewModel {
+
+ private MutableLiveData<String> mText;
+
+ public HomeViewModel() {
+ mText = new MutableLiveData<>();
+ mText.setValue("This is home fragment");
+ }
+
+ public LiveData<String> getText() {
+ return mText;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/notifications/NotificationsFragment.java b/app/src/main/java/com/runt/open/mvvm/ui/main/notifications/NotificationsFragment.java
new file mode 100644
index 0000000..72d952c
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/notifications/NotificationsFragment.java
@@ -0,0 +1,44 @@
+package com.runt.open.mvvm.ui.main.notifications;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.runt.open.mvvm.databinding.FragmentNotificationsBinding;
+
+public class NotificationsFragment extends Fragment {
+
+ private NotificationsViewModel notificationsViewModel;
+private FragmentNotificationsBinding binding;
+
+ public View onCreateView(@NonNull LayoutInflater inflater,
+ ViewGroup container, Bundle savedInstanceState) {
+ notificationsViewModel =
+ new ViewModelProvider(this).get(NotificationsViewModel.class);
+
+ binding = FragmentNotificationsBinding.inflate(inflater, container, false);
+ View root = binding.getRoot();
+
+ final TextView textView = binding.textNotifications;
+ notificationsViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
+ @Override
+ public void onChanged(@Nullable String s) {
+ textView.setText(s);
+ }
+ });
+ return root;
+ }
+
+@Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ binding = null;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/notifications/NotificationsViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/main/notifications/NotificationsViewModel.java
new file mode 100644
index 0000000..7e47f94
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/notifications/NotificationsViewModel.java
@@ -0,0 +1,19 @@
+package com.runt.open.mvvm.ui.main.notifications;
+
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.ViewModel;
+
+public class NotificationsViewModel extends ViewModel {
+
+ private MutableLiveData<String> mText;
+
+ public NotificationsViewModel() {
+ mText = new MutableLiveData<>();
+ mText.setValue("This is notifications fragment");
+ }
+
+ public LiveData<String> getText() {
+ return mText;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/notifications/NotificationsFragment.java b/app/src/main/java/com/runt/open/mvvm/ui/notifications/NotificationsFragment.java
deleted file mode 100644
index fc02849..0000000
--- a/app/src/main/java/com/runt/open/mvvm/ui/notifications/NotificationsFragment.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.runt.open.mvvm.ui.notifications;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-import com.runt.open.mvvm.R;
-import com.runt.open.mvvm.databinding.FragmentNotificationsBinding;
-
-public class NotificationsFragment extends Fragment {
-
- private NotificationsViewModel notificationsViewModel;
-private FragmentNotificationsBinding binding;
-
- public View onCreateView(@NonNull LayoutInflater inflater,
- ViewGroup container, Bundle savedInstanceState) {
- notificationsViewModel =
- new ViewModelProvider(this).get(NotificationsViewModel.class);
-
- binding = FragmentNotificationsBinding.inflate(inflater, container, false);
- View root = binding.getRoot();
-
- final TextView textView = binding.textNotifications;
- notificationsViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
- @Override
- public void onChanged(@Nullable String s) {
- textView.setText(s);
- }
- });
- return root;
- }
-
-@Override
- public void onDestroyView() {
- super.onDestroyView();
- binding = null;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/notifications/NotificationsViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/notifications/NotificationsViewModel.java
deleted file mode 100644
index 3e3c5d7..0000000
--- a/app/src/main/java/com/runt/open/mvvm/ui/notifications/NotificationsViewModel.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.runt.open.mvvm.ui.notifications;
-
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-import androidx.lifecycle.ViewModel;
-
-public class NotificationsViewModel extends ViewModel {
-
- private MutableLiveData<String> mText;
-
- public NotificationsViewModel() {
- mText = new MutableLiveData<>();
- mText.setValue("This is notifications fragment");
- }
-
- public LiveData<String> getText() {
- return mText;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashActivity.java b/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashActivity.java
new file mode 100644
index 0000000..988e8b6
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashActivity.java
@@ -0,0 +1,93 @@
+package com.runt.open.mvvm.ui.splash;
+
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
+import android.view.View;
+import android.view.WindowManager;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Observer;
+
+import com.bytedance.sdk.openadsdk.TTSplashAd;
+import com.runt.open.mvvm.MainActivity;
+import com.runt.open.mvvm.base.activities.BaseActivity;
+import com.runt.open.mvvm.databinding.ActivitySplashBinding;
+
+
+/**
+ * My father is Object, ites purpose of 启动页
+ *
+ * @purpose Created by Runt (qingingrunt2010@qq.com) on 2020-4-16.
+ */
+public class SplashActivity extends BaseActivity<ActivitySplashBinding,SplashViewModel> {
+
+ final String TAG = "WelcomeActivity";
+
+ Handler handler = new Handler(){
+ boolean started = false;
+ @Override
+ public void handleMessage(@NonNull Message msg) {
+ super.handleMessage(msg);
+ if(!started) {//确保该语句只执行一次
+ started = true;
+ Intent intent = new Intent(mContext, MainActivity.class);
+ startActivity(intent);
+ finish();
+ }
+ }
+ };
+
+ @Override
+ public void initViews() {
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
+ WindowManager.LayoutParams.FLAG_FULLSCREEN);//全屏
+ hideBottomUIMenu();
+ viewModel.getSplashAd().observe(this, new Observer<TTSplashAd>() {
+ @Override
+ public void onChanged(TTSplashAd ttSplashAd) {
+ binding.splashAdContainer.addView(ttSplashAd.getSplashView());
+ //设置SplashView的交互监听器
+ ttSplashAd.setSplashInteractionListener(new TTSplashAd.AdInteractionListener() {
+ @Override
+ public void onAdClicked(View view, int type) {
+ Log.d(TAG, "onAdClicked");
+ }
+
+ @Override
+ public void onAdShow(View view, int type) {
+ Log.d(TAG, "onAdShow");
+ }
+
+ @Override
+ public void onAdSkip() {
+ Log.d(TAG, "onAdSkip");
+ handler.sendMessage(new Message());
+
+ }
+
+ @Override
+ public void onAdTimeOver() {
+ Log.d(TAG, "onAdTimeOver");
+ handler.sendMessage(new Message());
+ }
+ });
+ }
+ });
+ viewModel.getTimeOut().observe(this, new Observer<Integer>() {
+ @Override
+ public void onChanged(Integer integer) {
+ handler.sendMessage(new Message());
+ }
+ });
+ viewModel.applyTdAd(mContext);;//请求广告
+ }
+
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ binding.splashAdContainer.removeAllViews();
+ }
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashViewModel.java b/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashViewModel.java
new file mode 100644
index 0000000..61e73d0
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/ui/splash/SplashViewModel.java
@@ -0,0 +1,87 @@
+package com.runt.open.mvvm.ui.splash;
+
+import android.content.Context;
+import android.os.Handler;
+import android.util.Log;
+
+import androidx.lifecycle.MutableLiveData;
+
+import com.bytedance.sdk.openadsdk.AdSlot;
+import com.bytedance.sdk.openadsdk.TTAdNative;
+import com.bytedance.sdk.openadsdk.TTAdSdk;
+import com.bytedance.sdk.openadsdk.TTSplashAd;
+import com.runt.open.mvvm.base.model.BaseViewModel;
+
+import java.util.Date;
+
+/**
+ * Created by Administrator on 2021/11/15 0015.
+ */
+public class SplashViewModel extends BaseViewModel {
+
+ final String TAG = "SplashViewModel";
+ long cTime = new Date().getTime(),limitTime = 2000;
+
+ private MutableLiveData<TTSplashAd> splashAd = new MutableLiveData<>();
+ private MutableLiveData<Integer> timeOut = new MutableLiveData<>();
+
+ public MutableLiveData<TTSplashAd> getSplashAd() {
+ return splashAd;
+ }
+
+ public MutableLiveData<Integer> getTimeOut() {
+ return timeOut;
+ }
+
+ public void countdown(){
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ timeOut.setValue(0);
+ }
+ },limitTime);
+ }
+
+ /**
+ * 请求广告
+ * @param context
+ */
+ public void applyTdAd(Context context){
+ countdown();
+ TTAdNative mTTAdNative = TTAdSdk.getAdManager().createAdNative(context);
+ AdSlot adSlot = new AdSlot.Builder()
+ .setCodeId("887382769")//广告id
+ .setSupportDeepLink(true)
+ .setImageAcceptedSize(1080,1920)
+ //模板广告需要设置期望个性化模板广告的大小,单位dp,代码位是否属于个性化模板广告,请在穿山甲平台查看
+ //.setExpressViewAcceptedSize(expressViewWidth, expressViewHeight)
+ .build();
+ mTTAdNative.loadSplashAd(adSlot,new TTAdNative.SplashAdListener() {
+ @Override
+ public void onError(int i, String s) {
+ Log.i(TAG,"code:"+i+" message:"+s);
+ }
+
+ @Override
+ public void onTimeout() {
+ Log.i(TAG,"超时");
+ }
+
+ @Override
+ public void onSplashAdLoad(TTSplashAd ttSplashAd) {
+ Log.d(TAG, "开屏广告请求成功");
+
+ long waitTime = limitTime - (new Date().getTime() - cTime);
+ if(waitTime > 0){//是否超过限定时间 没有超时则继续
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ splashAd.setValue(ttSplashAd);
+ }
+ }, waitTime > 0 ? waitTime : 0);
+ }
+ }
+ });
+ }
+
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/util/AlgorithmUtils.java b/app/src/main/java/com/runt/open/mvvm/util/AlgorithmUtils.java
new file mode 100644
index 0000000..88484f9
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/util/AlgorithmUtils.java
@@ -0,0 +1,75 @@
+package com.runt.open.mvvm.util;
+
+
+import android.graphics.Point;
+
+/**
+ * Created by Administrator on 2018/4/24.
+ */
+
+public class AlgorithmUtils {
+
+ /**
+ * 密码等级算法
+ * @param pwd
+ * @return
+ */
+ public static int pwdLevel(String pwd){
+ int level = 0 ;
+ boolean flag = false;
+ try{
+ Integer.parseInt(pwd);
+ }catch (Exception e){
+ flag =true;
+ }
+
+
+ boolean isHigh = false;
+ boolean hasUp = false;
+ boolean hasLow = false;
+ boolean hasNum = false;
+ for(int i = 0 ; i < pwd.length(); i ++ ){
+ int chars = (int)pwd.toCharArray()[i];
+ if(chars>64 && chars<91){//包含大写字母
+ hasUp = true;
+ }else if(chars>96 && chars<123){//包含小写字母
+ hasLow = true;
+ }else if(chars>47 && chars<58){//数字
+ hasNum = true;
+ }else{//特殊字符
+ isHigh = true;
+ }
+ }
+ int length = 7;
+ if(pwd.length()>length && isHigh && hasLow && hasUp && hasNum){//长度足够,包含大小写+特殊字符+数字
+ level = 4 ;
+ }else if(pwd.length()>length && isHigh && !hasLow && hasUp && hasNum){//长度足够,包含大写+特殊字符+数字
+ level = 3 ;
+ }else if(pwd.length()>length && isHigh && hasLow && !hasUp && hasNum){//长度足够,包含小写+特殊字符+数字
+ level = 3 ;
+ }else if(pwd.length()>length && !isHigh && hasLow && hasUp && hasNum){//长度足够,包含大、小写+数字
+ level = 3 ;
+ }else if(pwd.length()>length && isHigh && !hasLow && !hasUp && hasNum){//长度足够,只包含特殊符号+数字
+ level = 2 ;
+ }else if(pwd.length()>length && !isHigh && !hasLow && hasUp && hasNum){//长度足够,只包含大写字母+数字
+ level = 2 ;
+ }else if(pwd.length()>length && !isHigh && hasLow && !hasUp && hasNum){//长度足够,只包含小写字母+数字
+ level = 2 ;
+ }else if(pwd.length()>length && isHigh && !hasLow && !hasUp && !hasNum){//长度足够,只包含特殊符号
+ level = 1 ;
+ }else if(pwd.length()>length && !isHigh && !hasLow && hasUp && !hasNum){//长度足够,只包含大写字母
+ level = 1 ;
+ }else if(pwd.length()>length && !isHigh && hasLow && !hasUp && !hasNum){//长度足够,只包含小写字母
+ level = 1 ;
+ }else if((pwd.length()<length+1 && pwd.length() > 0 ) || !flag){//全是数字或长度太小
+ level = 0 ;
+ }else if(pwd.length() == 0){
+ level = -1 ;
+ }
+
+ //MyMyLog.i("AlgorithmUtils", String.format("pwdLevel isHigh:%s , hasLow:%s , hasUp:%s , hasNum:%s ,level:%s",isHigh , hasLow , hasUp , hasNum ,level));
+
+ return level;
+ }
+
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/util/Configuration.java b/app/src/main/java/com/runt/open/mvvm/util/Configuration.java
new file mode 100644
index 0000000..c4adb9c
--- /dev/null
+++ b/app/src/main/java/com/runt/open/mvvm/util/Configuration.java
@@ -0,0 +1,48 @@
+package com.runt.open.mvvm.util;
+
+/**
+ * Created by xanarry on 2016/5/22.
+ */
+public class Configuration {
+
+
+ public static final int REQUEST_CODE_PIC = 303;
+
+
+ public final static String MESS_TIP_NET_ERROR = "网络连接不畅,请稍后再试!!!";
+ public final static String KEY_MES_CODE= "code";
+ public final static String KEY_MES_TIME= "time";
+ public final static String KEY_MES_MESSAGE= "msg";
+ public final static String KEY_MES_ERROR= "error";
+ public final static String KEY_CODE_SUCCESS= "0";//code 0 成功
+ public final static int KEY_CODE_INFO= 101;//修改资料
+ public final static String KEY_USER = "user";
+ public final static String KEY_ADVERT= "advert";
+ public final static String KEY_DATA= "data";
+ public final static String KEY_FILES= "files";
+ public final static String KEY_SCREEN_TYPE = "screen_type";//屏幕类型
+ public final static String KEY_SCREEN_FILES= "screen_files";//播放的资源文件列表
+ public final static String KEY_NAME= "name";
+ public final static String KEY_MARk= "mark";
+ public final static String KEY_ORDER= "order";
+ public final static String FILENAME_MK = "fileName";
+ public final static String FILEPATH = "path";
+ public final static String STR_APPLY_DATA = "apply datas";
+ public final static String STR_FILE_PLAN_FAILED = "file plan failed";
+ public final static String STR_START_FILE_PLAN = "start file plan";
+ public final static String STR_FINISHED_FILE_PLAN = "finished plan";
+ public final static String FILESIZE_MK = "fileSize";
+
+ public static final String KEY_EXTRAS = "extras";
+ public static final String KEY_USERID = "customerId";
+ public static final String KEY_TOKEN = "token";
+ public static final String KEY_USERNAME = "username";
+ public static final String KEY_PHONE = "phone";
+ public static final String KEY_USERPASS = "userpass";
+ public static final String MESSAGE_RECEIVED_ACTION = "MESSAGE_RECEIVED_ACTION";
+
+ public static final String KEY_REGION = "region",
+ IS_LOGIN = "is_login";
+
+
+}
diff --git a/app/src/main/java/com/runt/open/mvvm/util/SpUtils.java b/app/src/main/java/com/runt/open/mvvm/util/SpUtils.java
index 5233129..43b447a 100644
--- a/app/src/main/java/com/runt/open/mvvm/util/SpUtils.java
+++ b/app/src/main/java/com/runt/open/mvvm/util/SpUtils.java
@@ -27,8 +27,8 @@
}
- public final String PROJECT = "project";
- public final String USER = "user";
+ public final static String PROJECT = "project";
+ public final static String USER = "user";
public boolean clearData(Context context, String keyShared){
diff --git a/app/src/main/res/anim/anima_make_none.xml b/app/src/main/res/anim/anima_make_none.xml
new file mode 100644
index 0000000..0b2b8c4
--- /dev/null
+++ b/app/src/main/res/anim/anima_make_none.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+ android:ordering="together">
+ <objectAnimator
+ android:duration="150"
+ android:propertyName="scaleX"
+ android:valueFrom="1"
+ android:valueTo="0"
+ ></objectAnimator>
+ <objectAnimator
+ android:duration="150"
+ android:propertyName="scaleY"
+ android:valueFrom="1"
+ android:valueTo="0"
+ ></objectAnimator>
+</set>
\ No newline at end of file
diff --git a/app/src/main/res/color/home_nav_color.xml b/app/src/main/res/color/home_nav_color.xml
new file mode 100644
index 0000000..162c605
--- /dev/null
+++ b/app/src/main/res/color/home_nav_color.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item android:state_checked="false" android:color="@color/gray_pressed" />
+ <item android:state_checked="true" android:color="@color/txt_normal" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/verify_code.xml b/app/src/main/res/color/verify_code.xml
new file mode 100644
index 0000000..ec4c198
--- /dev/null
+++ b/app/src/main/res/color/verify_code.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" tools:ignore="MissingDefaultResource">
+ <item android:state_enabled="false" android:color="@color/holo_red_light" />
+ <item android:color="@color/txt_normal" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v21/bg_circle_default.xml b/app/src/main/res/drawable-v21/bg_circle_default.xml
new file mode 100644
index 0000000..b799f15
--- /dev/null
+++ b/app/src/main/res/drawable-v21/bg_circle_default.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/color_gray" >
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_focused="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/input_bg" />
+ <corners android:radius="@dimen/circle" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/input_bg" />
+ <corners android:radius="@dimen/circle" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ </selector>
+ </item>
+
+</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v21/bg_white.xml b/app/src/main/res/drawable-v21/bg_white.xml
new file mode 100644
index 0000000..3c9a156
--- /dev/null
+++ b/app/src/main/res/drawable-v21/bg_white.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/color_gray">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <solid android:color="@color/gray_pressed" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <solid android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <solid android:color="@color/white" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/bg_white_circle.xml b/app/src/main/res/drawable-v21/bg_white_circle.xml
new file mode 100644
index 0000000..6306666
--- /dev/null
+++ b/app/src/main/res/drawable-v21/bg_white_circle.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/color_gray" >
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/color_gray" />
+ <corners android:radius="@dimen/circle" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape>
+ <solid android:color="@color/gray_pressed" />
+ <corners android:radius="@dimen/circle" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <solid android:color="@color/white" />
+ <corners android:radius="@dimen/circle" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ </selector>
+ </item>
+
+</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v21/btn_blue_border.xml b/app/src/main/res/drawable-v21/btn_blue_border.xml
new file mode 100644
index 0000000..d798efc
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_blue_border.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/deep_blue">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <solid android:color="@color/cut_off_line" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/link" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <solid android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <gradient
+ android:angle="270" android:endColor="@color/white" android:startColor="@color/white" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/link" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/btn_blue_circle_border.xml b/app/src/main/res/drawable-v21/btn_blue_circle_border.xml
new file mode 100644
index 0000000..bb1c8a4
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_blue_circle_border.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/deep_blue">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/cut_off_line" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/link" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <gradient
+ android:angle="270" android:endColor="@color/white" android:startColor="@color/white" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/link" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/btn_blue_corner.xml b/app/src/main/res/drawable-v21/btn_blue_corner.xml
new file mode 100644
index 0000000..27929ad
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_blue_corner.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/deep_blue">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <solid android:color="@color/deep_blue" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <solid android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <gradient
+ android:angle="270" android:endColor="@color/link" android:startColor="@color/link" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/btn_circle.xml b/app/src/main/res/drawable-v21/btn_circle.xml
new file mode 100644
index 0000000..b8750d6
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_circle.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/cut_off_line">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/white" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <gradient
+ android:angle="270" android:endColor="@color/white" android:startColor="@color/white" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/cut_off_circle" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/btn_circle_blue.xml b/app/src/main/res/drawable-v21/btn_circle_blue.xml
new file mode 100644
index 0000000..0b85574
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_circle_blue.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/cut_off_line">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/deep_blue" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/btn_gray_normal" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <gradient
+ android:angle="270" android:endColor="@color/theme" android:startColor="@color/theme" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/btn_circle_red.xml b/app/src/main/res/drawable-v21/btn_circle_red.xml
new file mode 100644
index 0000000..72044b8
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_circle_red.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/err" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <gradient
+ android:angle="270" android:endColor="@color/err" android:startColor="@color/err" />
+ </shape>
+ </item>
+
+</selector>
diff --git a/app/src/main/res/drawable-v21/btn_gray_border.xml b/app/src/main/res/drawable-v21/btn_gray_border.xml
new file mode 100644
index 0000000..a818dce
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_gray_border.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/txt_enable">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <solid android:color="@color/cut_off_line" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <solid android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <gradient
+ android:angle="270" android:endColor="@color/white" android:startColor="@color/white" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/btn_gray_circle.xml b/app/src/main/res/drawable-v21/btn_gray_circle.xml
new file mode 100644
index 0000000..241ad0a
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_gray_circle.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/color_gray" >
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_focused="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/input_bg" />
+ <corners android:radius="@dimen/circle" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/color_gray8" />
+ <corners android:radius="@dimen/circle" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ </selector>
+ </item>
+
+</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v21/btn_white_lb_corner.xml b/app/src/main/res/drawable-v21/btn_white_lb_corner.xml
new file mode 100644
index 0000000..df6fc0e
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_white_lb_corner.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/black_20">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:bottomLeftRadius="8dp" />
+ <solid android:color="@color/black_10" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:bottomLeftRadius="8dp" />
+ <solid android:color="@color/black_10" />
+ </shape>
+ </item>
+
+ <item android:state_focused="true">
+ <shape android:shape="rectangle">
+ <corners android:bottomLeftRadius="8dp" />
+ <solid android:color="@color/gray_normal" />
+ </shape>
+ </item>
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:bottomLeftRadius="8dp" />
+ <solid android:color="@color/white" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/btn_white_rb_corner.xml b/app/src/main/res/drawable-v21/btn_white_rb_corner.xml
new file mode 100644
index 0000000..4e9a3af
--- /dev/null
+++ b/app/src/main/res/drawable-v21/btn_white_rb_corner.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/black_20">
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <corners android:bottomRightRadius="8dp" />
+ <solid android:color="@color/black_10" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:bottomRightRadius="8dp" />
+ <solid android:color="@color/black_10" />
+ </shape>
+ </item>
+ <item android:state_focused="true">
+ <shape android:shape="rectangle">
+ <corners android:bottomRightRadius="8dp" />
+ <solid android:color="@color/black" />
+ </shape>
+ </item>
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:bottomRightRadius="8dp" />
+ <solid android:color="@color/white" />
+ </shape>
+ </item>
+
+ </selector>
+ </item>
+
+</ripple>
diff --git a/app/src/main/res/drawable-v21/enable_corner_border.xml b/app/src/main/res/drawable-v21/enable_corner_border.xml
new file mode 100644
index 0000000..cc0c8dd
--- /dev/null
+++ b/app/src/main/res/drawable-v21/enable_corner_border.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/enable_color" >
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/enable_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape>
+ <solid android:color="@color/white" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ <item android:state_checked="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/theme_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/enable_color" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ </selector>
+ </item>
+
+</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v21/theme_corner_border.xml b/app/src/main/res/drawable-v21/theme_corner_border.xml
new file mode 100644
index 0000000..1762297
--- /dev/null
+++ b/app/src/main/res/drawable-v21/theme_corner_border.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/enable_color" >
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/enable_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape>
+ <solid android:color="@color/white" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ <item android:state_checked="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/theme_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/theme_color" />
+ <solid android:color="@color/theme_tint_color" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ </selector>
+ </item>
+
+</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v21/white_corner_border.xml b/app/src/main/res/drawable-v21/white_corner_border.xml
new file mode 100644
index 0000000..bfe827c
--- /dev/null
+++ b/app/src/main/res/drawable-v21/white_corner_border.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/enable_color" >
+ <item>
+ <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/enable_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape>
+ <solid android:color="@color/white" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ <item android:state_checked="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/theme_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/enable_color" />
+ <solid android:color="@color/white" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ </selector>
+ </item>
+
+</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
deleted file mode 100644
index 2b068d1..0000000
--- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:aapt="http://schemas.android.com/aapt"
- android:width="108dp"
- android:height="108dp"
- android:viewportWidth="108"
- android:viewportHeight="108">
- <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:endX="85.84757"
- android:endY="92.4963"
- android:startX="42.9492"
- android:startY="49.59793"
- android:type="linear">
- <item
- android:color="#44000000"
- android:offset="0.0" />
- <item
- android:color="#00000000"
- android:offset="1.0" />
- </gradient>
- </aapt:attr>
- </path>
- <path
- android:fillColor="#FFFFFF"
- android:fillType="nonZero"
- android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
- android:strokeWidth="1"
- android:strokeColor="#00000000" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_black_circle.xml b/app/src/main/res/drawable/bg_black_circle.xml
new file mode 100644
index 0000000..ee2f789
--- /dev/null
+++ b/app/src/main/res/drawable/bg_black_circle.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/black" />
+ </shape>
+ </item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_blue_circle.xml b/app/src/main/res/drawable/bg_blue_circle.xml
new file mode 100644
index 0000000..ca2929d
--- /dev/null
+++ b/app/src/main/res/drawable/bg_blue_circle.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/ske_blue" />
+ </shape>
+ </item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_enable_circle.xml b/app/src/main/res/drawable/bg_enable_circle.xml
new file mode 100644
index 0000000..96ff587
--- /dev/null
+++ b/app/src/main/res/drawable/bg_enable_circle.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/gray_normal" />
+ </shape>
+ </item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_enable_circle_border.xml b/app/src/main/res/drawable/bg_enable_circle_border.xml
new file mode 100644
index 0000000..7ef098c
--- /dev/null
+++ b/app/src/main/res/drawable/bg_enable_circle_border.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <padding android:bottom="100dp" />
+ <gradient
+ android:angle="270" android:endColor="@color/white" android:startColor="@color/white" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/txt_enable" />
+ </shape>
+ </item>
+
+</selector>
diff --git a/app/src/main/res/drawable/bg_gradient_blue.xml b/app/src/main/res/drawable/bg_gradient_blue.xml
new file mode 100644
index 0000000..a26138c
--- /dev/null
+++ b/app/src/main/res/drawable/bg_gradient_blue.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item>
+ <shape>
+ <corners android:radius="5dp" />
+ <gradient
+ android:angle="360"
+ android:endColor="@color/blue_sky"
+ android:startColor="@color/color_blue"/>
+ </shape>
+ </item>
+</layer-list>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_gradient_gray.xml b/app/src/main/res/drawable/bg_gradient_gray.xml
new file mode 100644
index 0000000..46b62e0
--- /dev/null
+++ b/app/src/main/res/drawable/bg_gradient_gray.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item >
+ <shape>
+ <corners android:radius="2.0dip" />
+ <gradient
+ android:angle="180"
+ android:startColor="@color/color_gray"
+ android:endColor="@color/color_gray8" />
+ </shape>
+ </item>
+</layer-list>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_num.xml b/app/src/main/res/drawable/bg_num.xml
new file mode 100644
index 0000000..00d44a3
--- /dev/null
+++ b/app/src/main/res/drawable/bg_num.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/corsor_color" />
+ <solid android:color="@color/cameralist_gray" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape>
+ <solid android:color="@color/ui_content" />
+ </shape>
+ </item>
+ <item android:state_focused="true">
+ <shape>
+ <solid android:color="@color/trans_blue" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:color="@color/cut_off_line" />
+ <solid android:color="@color/white" />
+ </shape>
+ </item>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_border_circle.xml b/app/src/main/res/drawable/bg_red_border_circle.xml
new file mode 100644
index 0000000..aa71826
--- /dev/null
+++ b/app/src/main/res/drawable/bg_red_border_circle.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <gradient
+ android:angle="270" android:endColor="@color/white" android:startColor="@color/white" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/sign_today" />
+ </shape>
+ </item>
+
+</selector>
diff --git a/app/src/main/res/drawable/bg_red_circle.xml b/app/src/main/res/drawable/bg_red_circle.xml
new file mode 100644
index 0000000..cda4ed7
--- /dev/null
+++ b/app/src/main/res/drawable/bg_red_circle.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/sign_today" />
+ </shape>
+ </item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_seekbar_progress_drawable.xml b/app/src/main/res/drawable/bg_seekbar_progress_drawable.xml
new file mode 100644
index 0000000..26ed6f9
--- /dev/null
+++ b/app/src/main/res/drawable/bg_seekbar_progress_drawable.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- 背景图 -->
+ <item android:id="@android:id/background" android:height="3dp">
+ <shape>
+ <corners android:radius="10dp"/>
+ <size android:height="5dp" />
+ <solid android:color="#eeeff3"/>
+ </shape>
+ </item>
+
+ <!-- 进和能量图 -->
+ <item android:id="@android:id/progress" android:height="3dp">
+ <clip>
+ <shape>
+ <corners android:radius="10dp"/>
+ <size android:height="5dp" />
+ <gradient
+ android:endColor="#10A2F1"
+ android:startColor="#0079FF" />
+ </shape>
+ </clip>
+ </item>
+
+</layer-list>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_them_circle.xml b/app/src/main/res/drawable/bg_them_circle.xml
new file mode 100644
index 0000000..2ec16ea
--- /dev/null
+++ b/app/src/main/res/drawable/bg_them_circle.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <gradient
+ android:angle="270" android:endColor="@color/theme" android:startColor="@color/theme" />
+ </shape>
+ </item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_theme_border.xml b/app/src/main/res/drawable/bg_theme_border.xml
new file mode 100644
index 0000000..26f10b7
--- /dev/null
+++ b/app/src/main/res/drawable/bg_theme_border.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <gradient
+ android:angle="270" android:endColor="@color/white" android:startColor="@color/white" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/theme" />
+ </shape>
+ </item>
+
+</selector>
diff --git a/app/src/main/res/drawable/bg_white.xml b/app/src/main/res/drawable/bg_white.xml
new file mode 100644
index 0000000..6507367
--- /dev/null
+++ b/app/src/main/res/drawable/bg_white.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <solid android:color="@color/gray_pressed" />
+ </shape>
+ </item>
+
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <solid android:color="@color/cut_off_line" />
+ </shape>
+ </item>
+
+ <item>
+ <shape android:shape="rectangle">
+ <solid android:color="@color/white" />
+ </shape>
+ </item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_white_circle.xml b/app/src/main/res/drawable/bg_white_circle.xml
new file mode 100644
index 0000000..107489a
--- /dev/null
+++ b/app/src/main/res/drawable/bg_white_circle.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/circle" />
+ <solid android:color="@color/white" />
+ </shape>
+ </item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_white_corner.xml b/app/src/main/res/drawable/bg_white_corner.xml
new file mode 100644
index 0000000..b3b373e
--- /dev/null
+++ b/app/src/main/res/drawable/bg_white_corner.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/corner" />
+ <gradient
+ android:angle="270" android:endColor="@color/white" android:startColor="@color/white" />
+ </shape>
+ </item>
+
+</selector>
diff --git a/app/src/main/res/drawable/bg_white_corner_8.xml b/app/src/main/res/drawable/bg_white_corner_8.xml
new file mode 100644
index 0000000..546740e
--- /dev/null
+++ b/app/src/main/res/drawable/bg_white_corner_8.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/white" />
+ <corners android:radius="8dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/calender_last.xml b/app/src/main/res/drawable/calender_last.xml
new file mode 100644
index 0000000..3d04393
--- /dev/null
+++ b/app/src/main/res/drawable/calender_last.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false" android:drawable="@mipmap/top_left_e" />
+ <item android:state_pressed="true" android:drawable="@mipmap/top_left_e" />
+ <item android:drawable="@mipmap/top_left_g" />
+</selector>
diff --git a/app/src/main/res/drawable/calender_next.xml b/app/src/main/res/drawable/calender_next.xml
new file mode 100644
index 0000000..408aaa4
--- /dev/null
+++ b/app/src/main/res/drawable/calender_next.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false" android:drawable="@mipmap/top_right_e" />
+ <item android:state_pressed="true" android:drawable="@mipmap/top_right_e" />
+ <item android:drawable="@mipmap/top_right_g" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/check_selector.xml b/app/src/main/res/drawable/check_selector.xml
new file mode 100644
index 0000000..b3399af
--- /dev/null
+++ b/app/src/main/res/drawable/check_selector.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@mipmap/selected" android:state_checked="true"/>
+ <item android:drawable="@mipmap/selected" android:state_selected="true"/>
+ <item android:drawable="@mipmap/select" android:state_checked="false"/>
+ <item android:drawable="@mipmap/select" />
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/enable_corner_border.xml b/app/src/main/res/drawable/enable_corner_border.xml
new file mode 100644
index 0000000..da8ae78
--- /dev/null
+++ b/app/src/main/res/drawable/enable_corner_border.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/enable_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape>
+ <solid android:color="@color/white" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ <item android:state_checked="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/theme_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/enable_color" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_dashboard_black_24dp.xml b/app/src/main/res/drawable/ic_dashboard_black_24dp.xml
deleted file mode 100644
index 663d572..0000000
--- a/app/src/main/res/drawable/ic_dashboard_black_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
- <path
- android:fillColor="#FF000000"
- android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_home_black_24dp.xml b/app/src/main/res/drawable/ic_home_black_24dp.xml
deleted file mode 100644
index 70fb291..0000000
--- a/app/src/main/res/drawable/ic_home_black_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
- <path
- android:fillColor="#FF000000"
- android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
index 07d5da9..e01dd84 100644
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -2,169 +2,169 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
- android:viewportWidth="108"
- android:viewportHeight="108">
+ android:viewportHeight="108"
+ android:viewportWidth="108">
<path
- android:fillColor="#3DDC84"
+ android:fillColor="#008577"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
- android:strokeWidth="0.8"
- android:strokeColor="#33FFFFFF" />
+ android:strokeColor="#33FFFFFF"
+ android:strokeWidth="0.8" />
</vector>
diff --git a/app/src/main/res/drawable/ic_notifications_black_24dp.xml b/app/src/main/res/drawable/ic_notifications_black_24dp.xml
deleted file mode 100644
index 7009a67..0000000
--- a/app/src/main/res/drawable/ic_notifications_black_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
- <path
- android:fillColor="#FF000000"
- android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/item_check_pass.xml b/app/src/main/res/drawable/item_check_pass.xml
new file mode 100644
index 0000000..6c58e29
--- /dev/null
+++ b/app/src/main/res/drawable/item_check_pass.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:drawable="@drawable/bg_black_circle" android:state_checked="true"/>
+ <item android:drawable="@drawable/bg_white_circle" android:state_checked="false"/>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/picture_icon_delete.png b/app/src/main/res/drawable/picture_icon_delete.png
new file mode 100644
index 0000000..65c21e4
--- /dev/null
+++ b/app/src/main/res/drawable/picture_icon_delete.png
Binary files differ
diff --git a/app/src/main/res/drawable/picture_icon_shadow_bg.png b/app/src/main/res/drawable/picture_icon_shadow_bg.png
new file mode 100644
index 0000000..440cbb3
--- /dev/null
+++ b/app/src/main/res/drawable/picture_icon_shadow_bg.png
Binary files differ
diff --git a/app/src/main/res/drawable/picture_icon_video.png b/app/src/main/res/drawable/picture_icon_video.png
new file mode 100644
index 0000000..86e6d48
--- /dev/null
+++ b/app/src/main/res/drawable/picture_icon_video.png
Binary files differ
diff --git a/app/src/main/res/drawable/theme_corner_border.xml b/app/src/main/res/drawable/theme_corner_border.xml
new file mode 100644
index 0000000..84be09e
--- /dev/null
+++ b/app/src/main/res/drawable/theme_corner_border.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/enable_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape>
+ <solid android:color="@color/white" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+ <item android:state_checked="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/theme_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/theme_color" />
+ <solid android:color="@color/theme_tint_color" />
+ <corners android:radius="@dimen/radius" />
+ <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
+ </shape>
+ </item>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/white_corner_border.xml b/app/src/main/res/drawable/white_corner_border.xml
new file mode 100644
index 0000000..072bce2
--- /dev/null
+++ b/app/src/main/res/drawable/white_corner_border.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/enable_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/enable_color" />
+ <solid android:color="@color/press_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item android:state_checked="true">
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/white" />
+ <solid android:color="@color/theme_color" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <stroke android:width="0.5dp" android:color="@color/enable_color" />
+ <solid android:color="@color/white" />
+ <corners android:radius="@dimen/radius" />
+ </shape>
+ </item>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml
new file mode 100644
index 0000000..70a0b97
--- /dev/null
+++ b/app/src/main/res/layout/activity_splash.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/rel_root"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical" >
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:src="@mipmap/welcom"
+ android:scaleType="centerCrop"
+ />
+
+ <FrameLayout
+ android:id="@+id/splash_ad_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_dashboard.xml b/app/src/main/res/layout/fragment_dashboard.xml
index 0ef53b9..53e0e0c 100644
--- a/app/src/main/res/layout/fragment_dashboard.xml
+++ b/app/src/main/res/layout/fragment_dashboard.xml
@@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".ui.dashboard.DashboardFragment" >
+ tools:context=".ui.main.dashboard.DashboardFragment" >
<TextView
android:id="@+id/text_dashboard"
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 7ecfe18..02db4bd 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".ui.home.HomeFragment" >
+ tools:context=".ui.main.home.HomeFragment" >
<TextView
android:id="@+id/text_home"
diff --git a/app/src/main/res/layout/fragment_notifications.xml b/app/src/main/res/layout/fragment_notifications.xml
index 01a3222..448150a 100644
--- a/app/src/main/res/layout/fragment_notifications.xml
+++ b/app/src/main/res/layout/fragment_notifications.xml
@@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".ui.notifications.NotificationsFragment" >
+ tools:context=".ui.main.notifications.NotificationsFragment" >
<TextView
android:id="@+id/text_notifications"
diff --git a/app/src/main/res/layout/item_btn_text_with_text.xml b/app/src/main/res/layout/item_btn_text_with_text.xml
new file mode 100644
index 0000000..a28929f
--- /dev/null
+++ b/app/src/main/res/layout/item_btn_text_with_text.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/bg_white"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:id="@+id/lin_item_text"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:background="@drawable/bg_white"
+ android:clickable="false"
+ android:gravity="center_vertical"
+ android:orientation="horizontal" >
+
+ <TextView
+ android:id="@+id/txt_left"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:text="标题"
+ android:textColor="@color/black"
+ android:textSize="17sp" />
+
+ <TextView
+ android:id="@+id/txt_red_point"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:layout_marginLeft="10dp"
+ android:background="@drawable/btn_circle_red"
+ android:gravity="center"
+ android:text="1"
+ android:textColor="@color/white"
+ android:visibility="gone"/>
+
+ <RelativeLayout
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1.0">
+ <TextView
+ android:id="@+id/txt_right"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:drawablePadding="5dp"
+ android:drawableRight="@mipmap/arrow_right"
+ android:gravity="center_vertical|right"
+ android:maxLines="1"
+ android:text=""
+ android:textColor="@color/txt_enable"
+ android:textSize="17sp" />
+
+ <TextView
+ android:id="@+id/txt_right_red_point"
+ android:layout_width="10dp"
+ android:layout_height="10dp"
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ android:layout_marginRight="10dp"
+ android:background="@drawable/btn_circle_red"
+ android:visibility="gone"
+ android:textColor="@color/white" />
+ </RelativeLayout>
+ </LinearLayout>
+
+
+ <View
+ android:id="@+id/view_divider"
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="@color/color_gray" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/menu/bottom_nav_menu.xml b/app/src/main/res/menu/bottom_nav_menu.xml
index 52321c6..fb25685 100644
--- a/app/src/main/res/menu/bottom_nav_menu.xml
+++ b/app/src/main/res/menu/bottom_nav_menu.xml
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<item
- android:id="@+id/navigation_home"
- android:icon="@drawable/ic_home_black_24dp"
- android:title="@string/title_home"/>
-
+ android:id="@+id/nav_msg"
+ android:icon="@mipmap/icon_news"
+ android:title="资讯" />
<item
- android:id="@+id/navigation_dashboard"
- android:icon="@drawable/ic_dashboard_black_24dp"
- android:title="@string/title_dashboard"/>
-
+ android:id="@+id/nav_service"
+ android:icon="@mipmap/icon_home"
+ android:title="服务" />
<item
- android:id="@+id/navigation_notifications"
- android:icon="@drawable/ic_notifications_black_24dp"
- android:title="@string/title_notifications"/>
+ android:id="@+id/nav_mine"
+ android:icon="@mipmap/icon_mine"
+ android:title="我的" />
+
</menu>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
deleted file mode 100644
index eca70cf..0000000
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
- <background android:drawable="@drawable/ic_launcher_background" />
- <foreground android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted file mode 100644
index eca70cf..0000000
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
- <background android:drawable="@drawable/ic_launcher_background" />
- <foreground android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/arrow_bottom_black.png b/app/src/main/res/mipmap-hdpi/arrow_bottom_black.png
new file mode 100644
index 0000000..ed993f3
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/arrow_bottom_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/arrow_bottom_white.png b/app/src/main/res/mipmap-hdpi/arrow_bottom_white.png
new file mode 100644
index 0000000..6c24766
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/arrow_bottom_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/arrow_top_black.png b/app/src/main/res/mipmap-hdpi/arrow_top_black.png
new file mode 100644
index 0000000..35e3b42
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/arrow_top_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/arrow_top_white.png b/app/src/main/res/mipmap-hdpi/arrow_top_white.png
new file mode 100644
index 0000000..37552cd
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/arrow_top_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/bg_seekbar_display1.png b/app/src/main/res/mipmap-hdpi/bg_seekbar_display1.png
new file mode 100644
index 0000000..404751b
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/bg_seekbar_display1.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/bg_seekbar_display2.png b/app/src/main/res/mipmap-hdpi/bg_seekbar_display2.png
new file mode 100644
index 0000000..0e312f6
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/bg_seekbar_display2.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/data_null.png b/app/src/main/res/mipmap-hdpi/data_null.png
new file mode 100644
index 0000000..e81284e
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/data_null.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_add_black_48dp.png b/app/src/main/res/mipmap-hdpi/ic_add_black_48dp.png
new file mode 100644
index 0000000..a633259
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_add_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_arrow_back_black_24dp.png b/app/src/main/res/mipmap-hdpi/ic_arrow_back_black_24dp.png
new file mode 100644
index 0000000..baaf7d9
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_arrow_back_black_24dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/mipmap-hdpi/ic_arrow_back_white_24dp.png
new file mode 100644
index 0000000..5fa4948
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_arrow_back_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
deleted file mode 100644
index c209e78..0000000
--- a/app/src/main/res/mipmap-hdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
deleted file mode 100644
index b2dfe3d..0000000
--- a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_stay_primary_landscape_black_48dp.png b/app/src/main/res/mipmap-hdpi/ic_stay_primary_landscape_black_48dp.png
new file mode 100644
index 0000000..c1212ce
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_stay_primary_landscape_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_stay_primary_portrait_black_48dp.png b/app/src/main/res/mipmap-hdpi/ic_stay_primary_portrait_black_48dp.png
new file mode 100644
index 0000000..c50d631
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_stay_primary_portrait_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/icon_delete.png b/app/src/main/res/mipmap-hdpi/icon_delete.png
new file mode 100644
index 0000000..cf0c66f
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/icon_delete.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/icon_more_hor_black.png b/app/src/main/res/mipmap-hdpi/icon_more_hor_black.png
new file mode 100644
index 0000000..e68cfdf
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/icon_more_hor_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/icon_more_hor_white.png b/app/src/main/res/mipmap-hdpi/icon_more_hor_white.png
new file mode 100644
index 0000000..c84cbcc
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/icon_more_hor_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/icon_more_vert_black.png b/app/src/main/res/mipmap-hdpi/icon_more_vert_black.png
new file mode 100644
index 0000000..f22e713
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/icon_more_vert_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/icon_more_vert_white.png b/app/src/main/res/mipmap-hdpi/icon_more_vert_white.png
new file mode 100644
index 0000000..fdc4a5a
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/icon_more_vert_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/icon_seekbar_thumb.png b/app/src/main/res/mipmap-hdpi/icon_seekbar_thumb.png
new file mode 100644
index 0000000..ad67fa0
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/icon_seekbar_thumb.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/icon_white_mine.png b/app/src/main/res/mipmap-hdpi/icon_white_mine.png
new file mode 100644
index 0000000..ca9246b
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/icon_white_mine.png
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/icon_white_setting.png b/app/src/main/res/mipmap-hdpi/icon_white_setting.png
new file mode 100644
index 0000000..d3ee447
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/icon_white_setting.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/arrow_bottom_black.png b/app/src/main/res/mipmap-mdpi/arrow_bottom_black.png
new file mode 100644
index 0000000..73fc3b4
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/arrow_bottom_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/arrow_bottom_white.png b/app/src/main/res/mipmap-mdpi/arrow_bottom_white.png
new file mode 100644
index 0000000..61e551f
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/arrow_bottom_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/arrow_top_black.png b/app/src/main/res/mipmap-mdpi/arrow_top_black.png
new file mode 100644
index 0000000..a5ab2c5
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/arrow_top_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/arrow_top_white.png b/app/src/main/res/mipmap-mdpi/arrow_top_white.png
new file mode 100644
index 0000000..cfc34a3
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/arrow_top_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/data_null.png b/app/src/main/res/mipmap-mdpi/data_null.png
new file mode 100644
index 0000000..694c961
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/data_null.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_add_black_48dp.png b/app/src/main/res/mipmap-mdpi/ic_add_black_48dp.png
new file mode 100644
index 0000000..1ea8dd9
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_add_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_arrow_back_black_24dp.png b/app/src/main/res/mipmap-mdpi/ic_arrow_back_black_24dp.png
new file mode 100644
index 0000000..425c884
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_arrow_back_black_24dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/mipmap-mdpi/ic_arrow_back_white_24dp.png
new file mode 100644
index 0000000..9e662f6
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_arrow_back_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
deleted file mode 100644
index 4f0f1d6..0000000
--- a/app/src/main/res/mipmap-mdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted file mode 100644
index 62b611d..0000000
--- a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_stay_primary_landscape_black_48dp.png b/app/src/main/res/mipmap-mdpi/ic_stay_primary_landscape_black_48dp.png
new file mode 100644
index 0000000..8160215
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_stay_primary_landscape_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_stay_primary_portrait_black_48dp.png b/app/src/main/res/mipmap-mdpi/ic_stay_primary_portrait_black_48dp.png
new file mode 100644
index 0000000..2e81a7a
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_stay_primary_portrait_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/icon_more_hor_black.png b/app/src/main/res/mipmap-mdpi/icon_more_hor_black.png
new file mode 100644
index 0000000..ce72963
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/icon_more_hor_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/icon_more_hor_white.png b/app/src/main/res/mipmap-mdpi/icon_more_hor_white.png
new file mode 100644
index 0000000..28e4a99
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/icon_more_hor_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/icon_more_vert_black.png b/app/src/main/res/mipmap-mdpi/icon_more_vert_black.png
new file mode 100644
index 0000000..991ad6c
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/icon_more_vert_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/icon_more_vert_white.png b/app/src/main/res/mipmap-mdpi/icon_more_vert_white.png
new file mode 100644
index 0000000..1d8ad18
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/icon_more_vert_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/icon_white_mine.png b/app/src/main/res/mipmap-mdpi/icon_white_mine.png
new file mode 100644
index 0000000..ec9e668
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/icon_white_mine.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/icon_white_setting.png b/app/src/main/res/mipmap-mdpi/icon_white_setting.png
new file mode 100644
index 0000000..c871176
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/icon_white_setting.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/alipay.png b/app/src/main/res/mipmap-xhdpi/alipay.png
new file mode 100644
index 0000000..8ec922f
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/alipay.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/arrow_bottom_black.png b/app/src/main/res/mipmap-xhdpi/arrow_bottom_black.png
new file mode 100644
index 0000000..45d30d9
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/arrow_bottom_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/arrow_bottom_white.png b/app/src/main/res/mipmap-xhdpi/arrow_bottom_white.png
new file mode 100644
index 0000000..c0e60c2
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/arrow_bottom_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/arrow_right.png b/app/src/main/res/mipmap-xhdpi/arrow_right.png
new file mode 100644
index 0000000..175a9e3
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/arrow_right.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/arrow_top_black.png b/app/src/main/res/mipmap-xhdpi/arrow_top_black.png
new file mode 100644
index 0000000..47c7b52
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/arrow_top_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/arrow_top_white.png b/app/src/main/res/mipmap-xhdpi/arrow_top_white.png
new file mode 100644
index 0000000..55875dd
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/arrow_top_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/birth.png b/app/src/main/res/mipmap-xhdpi/birth.png
new file mode 100644
index 0000000..597c659
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/birth.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/coin.png b/app/src/main/res/mipmap-xhdpi/coin.png
new file mode 100644
index 0000000..431733b
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/coin.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/coin_d.png b/app/src/main/res/mipmap-xhdpi/coin_d.png
new file mode 100644
index 0000000..81ce863
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/coin_d.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/data_null.png b/app/src/main/res/mipmap-xhdpi/data_null.png
new file mode 100644
index 0000000..2b8b004
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/data_null.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/default_head.png b/app/src/main/res/mipmap-xhdpi/default_head.png
new file mode 100644
index 0000000..9f10420
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/default_head.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_add_black_48dp.png b/app/src/main/res/mipmap-xhdpi/ic_add_black_48dp.png
new file mode 100644
index 0000000..43bc427
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_add_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_arrow_back_black_24dp.png b/app/src/main/res/mipmap-xhdpi/ic_arrow_back_black_24dp.png
new file mode 100644
index 0000000..ea37677
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_arrow_back_black_24dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/mipmap-xhdpi/ic_arrow_back_white_24dp.png
new file mode 100644
index 0000000..addbfc8
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_arrow_back_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_delete.png b/app/src/main/res/mipmap-xhdpi/ic_delete.png
new file mode 100644
index 0000000..38c4ec0
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_delete.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
deleted file mode 100644
index 948a307..0000000
--- a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
deleted file mode 100644
index 1b9a695..0000000
--- a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_stay_primary_landscape_black_48dp.png b/app/src/main/res/mipmap-xhdpi/ic_stay_primary_landscape_black_48dp.png
new file mode 100644
index 0000000..f7f2890
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_stay_primary_landscape_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_stay_primary_portrait_black_48dp.png b/app/src/main/res/mipmap-xhdpi/ic_stay_primary_portrait_black_48dp.png
new file mode 100644
index 0000000..3edee57
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_stay_primary_portrait_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_coin.png b/app/src/main/res/mipmap-xhdpi/icon_coin.png
new file mode 100644
index 0000000..711297b
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_coin.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_delete.png b/app/src/main/res/mipmap-xhdpi/icon_delete.png
new file mode 100644
index 0000000..d4c7bb0
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_delete.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_more_hor_black.png b/app/src/main/res/mipmap-xhdpi/icon_more_hor_black.png
new file mode 100644
index 0000000..7dc4e13
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_more_hor_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_more_hor_white.png b/app/src/main/res/mipmap-xhdpi/icon_more_hor_white.png
new file mode 100644
index 0000000..4e4f883
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_more_hor_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_more_vert_black.png b/app/src/main/res/mipmap-xhdpi/icon_more_vert_black.png
new file mode 100644
index 0000000..0db5dc3
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_more_vert_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_more_vert_white.png b/app/src/main/res/mipmap-xhdpi/icon_more_vert_white.png
new file mode 100644
index 0000000..1b04eda
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_more_vert_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_white_back.png b/app/src/main/res/mipmap-xhdpi/icon_white_back.png
new file mode 100644
index 0000000..8f3faab
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_white_back.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_white_mine.png b/app/src/main/res/mipmap-xhdpi/icon_white_mine.png
new file mode 100644
index 0000000..b60729a
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_white_mine.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_white_setting.png b/app/src/main/res/mipmap-xhdpi/icon_white_setting.png
new file mode 100644
index 0000000..009d6b7
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_white_setting.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/location_dark.png b/app/src/main/res/mipmap-xhdpi/location_dark.png
new file mode 100644
index 0000000..47f0a52
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/location_dark.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/location_e.png b/app/src/main/res/mipmap-xhdpi/location_e.png
new file mode 100644
index 0000000..96a91b0
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/location_e.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/select.png b/app/src/main/res/mipmap-xhdpi/select.png
new file mode 100644
index 0000000..3f1e2c8
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/select.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/selected.png b/app/src/main/res/mipmap-xhdpi/selected.png
new file mode 100644
index 0000000..11c89ac
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/selected.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/sign.png b/app/src/main/res/mipmap-xhdpi/sign.png
new file mode 100644
index 0000000..f8a8a58
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/sign.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/top_left_e.png b/app/src/main/res/mipmap-xhdpi/top_left_e.png
new file mode 100644
index 0000000..529c916
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/top_left_e.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/top_left_g.png b/app/src/main/res/mipmap-xhdpi/top_left_g.png
new file mode 100644
index 0000000..da510b0
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/top_left_g.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/top_right_e.png b/app/src/main/res/mipmap-xhdpi/top_right_e.png
new file mode 100644
index 0000000..6d4e6ef
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/top_right_e.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/top_right_g.png b/app/src/main/res/mipmap-xhdpi/top_right_g.png
new file mode 100644
index 0000000..c337901
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/top_right_g.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/user_back.png b/app/src/main/res/mipmap-xhdpi/user_back.png
new file mode 100644
index 0000000..ff396ea
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/user_back.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/weipay.png b/app/src/main/res/mipmap-xhdpi/weipay.png
new file mode 100644
index 0000000..ebffc5d
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/weipay.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/alipay.png b/app/src/main/res/mipmap-xxhdpi/alipay.png
new file mode 100644
index 0000000..2c7dc96
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/alipay.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/app_icon.png b/app/src/main/res/mipmap-xxhdpi/app_icon.png
new file mode 100644
index 0000000..a3b089e
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/app_icon.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/arrow_bottom_black.png b/app/src/main/res/mipmap-xxhdpi/arrow_bottom_black.png
new file mode 100644
index 0000000..aadd04a
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/arrow_bottom_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/arrow_bottom_white.png b/app/src/main/res/mipmap-xxhdpi/arrow_bottom_white.png
new file mode 100644
index 0000000..f00aa8b
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/arrow_bottom_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/arrow_right.png b/app/src/main/res/mipmap-xxhdpi/arrow_right.png
new file mode 100644
index 0000000..79df616
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/arrow_right.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/arrow_top_black.png b/app/src/main/res/mipmap-xxhdpi/arrow_top_black.png
new file mode 100644
index 0000000..0470e3f
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/arrow_top_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/arrow_top_white.png b/app/src/main/res/mipmap-xxhdpi/arrow_top_white.png
new file mode 100644
index 0000000..a74849a
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/arrow_top_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/bg_bozhong.jpg b/app/src/main/res/mipmap-xxhdpi/bg_bozhong.jpg
new file mode 100644
index 0000000..c92e193
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/bg_bozhong.jpg
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/bg_uav.jpg b/app/src/main/res/mipmap-xxhdpi/bg_uav.jpg
new file mode 100644
index 0000000..09399f8
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/bg_uav.jpg
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/bg_xiaomai.jpg b/app/src/main/res/mipmap-xxhdpi/bg_xiaomai.jpg
new file mode 100644
index 0000000..87ad6f9
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/bg_xiaomai.jpg
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/bg_yumi.jpg b/app/src/main/res/mipmap-xxhdpi/bg_yumi.jpg
new file mode 100644
index 0000000..e731cc5
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/bg_yumi.jpg
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/birth.png b/app/src/main/res/mipmap-xxhdpi/birth.png
new file mode 100644
index 0000000..ea51174
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/birth.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/data_null.png b/app/src/main/res/mipmap-xxhdpi/data_null.png
new file mode 100644
index 0000000..e0087e3
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/data_null.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/default_head.png b/app/src/main/res/mipmap-xxhdpi/default_head.png
new file mode 100644
index 0000000..6738614
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/default_head.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/female.png b/app/src/main/res/mipmap-xxhdpi/female.png
new file mode 100644
index 0000000..9427631
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/female.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_add_black_48dp.png b/app/src/main/res/mipmap-xxhdpi/ic_add_black_48dp.png
new file mode 100644
index 0000000..b94d1c9
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_add_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_arrow_back_black_24dp.png b/app/src/main/res/mipmap-xxhdpi/ic_arrow_back_black_24dp.png
new file mode 100644
index 0000000..4162ffc
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_arrow_back_black_24dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/mipmap-xxhdpi/ic_arrow_back_white_24dp.png
new file mode 100644
index 0000000..4057cc5
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_arrow_back_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
deleted file mode 100644
index 28d4b77..0000000
--- a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9287f50..0000000
--- a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_stay_primary_landscape_black_48dp.png b/app/src/main/res/mipmap-xxhdpi/ic_stay_primary_landscape_black_48dp.png
new file mode 100644
index 0000000..54ef324
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_stay_primary_landscape_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_stay_primary_portrait_black_48dp.png b/app/src/main/res/mipmap-xxhdpi/ic_stay_primary_portrait_black_48dp.png
new file mode 100644
index 0000000..3f0ab7f
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_stay_primary_portrait_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_coin.png b/app/src/main/res/mipmap-xxhdpi/icon_coin.png
new file mode 100644
index 0000000..f62f2e7
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_coin.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_more_hor_black.png b/app/src/main/res/mipmap-xxhdpi/icon_more_hor_black.png
new file mode 100644
index 0000000..fc71097
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_more_hor_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_more_hor_white.png b/app/src/main/res/mipmap-xxhdpi/icon_more_hor_white.png
new file mode 100644
index 0000000..7f1e162
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_more_hor_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_more_vert_black.png b/app/src/main/res/mipmap-xxhdpi/icon_more_vert_black.png
new file mode 100644
index 0000000..d32453d
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_more_vert_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_more_vert_white.png b/app/src/main/res/mipmap-xxhdpi/icon_more_vert_white.png
new file mode 100644
index 0000000..2955c02
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_more_vert_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_white_back.png b/app/src/main/res/mipmap-xxhdpi/icon_white_back.png
new file mode 100644
index 0000000..7d82e4c
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_white_back.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_white_mine.png b/app/src/main/res/mipmap-xxhdpi/icon_white_mine.png
new file mode 100644
index 0000000..bb1c102
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_white_mine.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_white_setting.png b/app/src/main/res/mipmap-xxhdpi/icon_white_setting.png
new file mode 100644
index 0000000..e0c9190
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_white_setting.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/location_dark.png b/app/src/main/res/mipmap-xxhdpi/location_dark.png
new file mode 100644
index 0000000..9479403
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/location_dark.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/location_e.png b/app/src/main/res/mipmap-xxhdpi/location_e.png
new file mode 100644
index 0000000..c4167c3
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/location_e.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/male.png b/app/src/main/res/mipmap-xxhdpi/male.png
new file mode 100644
index 0000000..a4026fb
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/male.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/select.png b/app/src/main/res/mipmap-xxhdpi/select.png
new file mode 100644
index 0000000..2201ad0
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/select.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/selected.png b/app/src/main/res/mipmap-xxhdpi/selected.png
new file mode 100644
index 0000000..24f7897
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/selected.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/sign.png b/app/src/main/res/mipmap-xxhdpi/sign.png
new file mode 100644
index 0000000..f2a9975
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/sign.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/top_left_g.png b/app/src/main/res/mipmap-xxhdpi/top_left_g.png
new file mode 100644
index 0000000..ea29f4b
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/top_left_g.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/top_right_e.png b/app/src/main/res/mipmap-xxhdpi/top_right_e.png
new file mode 100644
index 0000000..85845e3
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/top_right_e.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/weipay.png b/app/src/main/res/mipmap-xxhdpi/weipay.png
new file mode 100644
index 0000000..2d1c5db
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/weipay.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/alipay.png b/app/src/main/res/mipmap-xxxhdpi/alipay.png
new file mode 100644
index 0000000..e786fcb
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/alipay.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/arrow_bottom_black.png b/app/src/main/res/mipmap-xxxhdpi/arrow_bottom_black.png
new file mode 100644
index 0000000..228b2a9
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/arrow_bottom_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/arrow_bottom_white.png b/app/src/main/res/mipmap-xxxhdpi/arrow_bottom_white.png
new file mode 100644
index 0000000..3bc2f7d
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/arrow_bottom_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/arrow_right.png b/app/src/main/res/mipmap-xxxhdpi/arrow_right.png
new file mode 100644
index 0000000..2c985ee
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/arrow_right.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/arrow_top_black.png b/app/src/main/res/mipmap-xxxhdpi/arrow_top_black.png
new file mode 100644
index 0000000..08ae545
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/arrow_top_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/arrow_top_white.png b/app/src/main/res/mipmap-xxxhdpi/arrow_top_white.png
new file mode 100644
index 0000000..2e5c1c6
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/arrow_top_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/birth.png b/app/src/main/res/mipmap-xxxhdpi/birth.png
new file mode 100644
index 0000000..a8c0734
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/birth.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/data_null.png b/app/src/main/res/mipmap-xxxhdpi/data_null.png
new file mode 100644
index 0000000..97d0cd1
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/data_null.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/default_head.png b/app/src/main/res/mipmap-xxxhdpi/default_head.png
new file mode 100644
index 0000000..388406d
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/default_head.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/female.png b/app/src/main/res/mipmap-xxxhdpi/female.png
new file mode 100644
index 0000000..848cc79
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/female.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_add_black_48dp.png b/app/src/main/res/mipmap-xxxhdpi/ic_add_black_48dp.png
new file mode 100644
index 0000000..4c0969b
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_add_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
deleted file mode 100644
index aa7d642..0000000
--- a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9126ae3..0000000
--- a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_stay_primary_landscape_black_48dp.png b/app/src/main/res/mipmap-xxxhdpi/ic_stay_primary_landscape_black_48dp.png
new file mode 100644
index 0000000..f96e29d
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_stay_primary_landscape_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_stay_primary_portrait_black_48dp.png b/app/src/main/res/mipmap-xxxhdpi/ic_stay_primary_portrait_black_48dp.png
new file mode 100644
index 0000000..7283c85
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_stay_primary_portrait_black_48dp.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_coin.png b/app/src/main/res/mipmap-xxxhdpi/icon_coin.png
new file mode 100644
index 0000000..f62f2e7
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_coin.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_home.png b/app/src/main/res/mipmap-xxxhdpi/icon_home.png
new file mode 100644
index 0000000..1105353
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_home.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_mine.png b/app/src/main/res/mipmap-xxxhdpi/icon_mine.png
new file mode 100644
index 0000000..67d963d
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_mine.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_more_hor_black.png b/app/src/main/res/mipmap-xxxhdpi/icon_more_hor_black.png
new file mode 100644
index 0000000..b288bf0
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_more_hor_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_more_hor_white.png b/app/src/main/res/mipmap-xxxhdpi/icon_more_hor_white.png
new file mode 100644
index 0000000..3632879
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_more_hor_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_more_vert_black.png b/app/src/main/res/mipmap-xxxhdpi/icon_more_vert_black.png
new file mode 100644
index 0000000..037b6f1
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_more_vert_black.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_more_vert_white.png b/app/src/main/res/mipmap-xxxhdpi/icon_more_vert_white.png
new file mode 100644
index 0000000..25b6f9f
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_more_vert_white.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_news.png b/app/src/main/res/mipmap-xxxhdpi/icon_news.png
new file mode 100644
index 0000000..019b379
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_news.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_white_back.png b/app/src/main/res/mipmap-xxxhdpi/icon_white_back.png
new file mode 100644
index 0000000..f982292
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_white_back.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_white_mine.png b/app/src/main/res/mipmap-xxxhdpi/icon_white_mine.png
new file mode 100644
index 0000000..7f34a24
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_white_mine.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_white_setting.png b/app/src/main/res/mipmap-xxxhdpi/icon_white_setting.png
new file mode 100644
index 0000000..74a39f8
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_white_setting.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/location_dark.png b/app/src/main/res/mipmap-xxxhdpi/location_dark.png
new file mode 100644
index 0000000..bb5d684
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/location_dark.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/location_e.png b/app/src/main/res/mipmap-xxxhdpi/location_e.png
new file mode 100644
index 0000000..750b3c8
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/location_e.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/male.png b/app/src/main/res/mipmap-xxxhdpi/male.png
new file mode 100644
index 0000000..ac40905
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/male.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/select.png b/app/src/main/res/mipmap-xxxhdpi/select.png
new file mode 100644
index 0000000..a1e504e
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/select.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/selected.png b/app/src/main/res/mipmap-xxxhdpi/selected.png
new file mode 100644
index 0000000..a559d86
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/selected.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/top_left_g.png b/app/src/main/res/mipmap-xxxhdpi/top_left_g.png
new file mode 100644
index 0000000..99aa3a7
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/top_left_g.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/top_right_e.png b/app/src/main/res/mipmap-xxxhdpi/top_right_e.png
new file mode 100644
index 0000000..47eb55c
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/top_right_e.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/weipay.png b/app/src/main/res/mipmap-xxxhdpi/weipay.png
new file mode 100644
index 0000000..cea5b21
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/weipay.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/welcom.png b/app/src/main/res/mipmap-xxxhdpi/welcom.png
new file mode 100644
index 0000000..db9de44
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/welcom.png
Binary files differ
diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml
index 1887f2e..97a20ea 100644
--- a/app/src/main/res/navigation/mobile_navigation.xml
+++ b/app/src/main/res/navigation/mobile_navigation.xml
@@ -7,19 +7,19 @@
<fragment
android:id="@+id/navigation_home"
- android:name="com.runt.open.mvvm.ui.home.HomeFragment"
+ android:name="com.runt.open.mvvm.ui.main.home.HomeFragment"
android:label="@string/title_home"
tools:layout="@layout/fragment_home" />
<fragment
android:id="@+id/navigation_dashboard"
- android:name="com.runt.open.mvvm.ui.dashboard.DashboardFragment"
+ android:name="com.runt.open.mvvm.ui.main.dashboard.DashboardFragment"
android:label="@string/title_dashboard"
tools:layout="@layout/fragment_dashboard" />
<fragment
android:id="@+id/navigation_notifications"
- android:name="com.runt.open.mvvm.ui.notifications.NotificationsFragment"
+ android:name="com.runt.open.mvvm.ui.main.notifications.NotificationsFragment"
android:label="@string/title_notifications"
tools:layout="@layout/fragment_notifications" />
</navigation>
\ 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 b15bd48..7ad4401 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,5 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
+ <color name="colorPrimary">@color/theme_color</color>
+ <color name="colorPrimaryDark">#17B4A0</color>
+ <color name="colorAccent">#D81B60</color>
+
+ <color name="theme_color">#3475F8</color>
+ <color name="theme_tint_color">#A7C3FA</color>
+ <color name="press_color">#8B8C8D</color>
+ <color name="enable_color">#646161</color>
+ <color name="enable_txt_color">#D5D2D2</color>
+ <color name="txt_color">#2C2C2C</color>
+ <color name="txt_cusor_color">#FFFFFF</color>
+ <color name="shade_color">#F0F0F0</color>
+
+
+
+ <color name="btn_login_normal">@color/theme</color>
+ <color name="btn_logout_normal">#d33f3f</color>
+ <color name="btn_logout_pressed">#DA5A4D</color>
+ <color name="btn_register_normal">#ffffff</color>
+ <color name="btn_register_pressed">@color/theme</color>
+ <color name="common_bottom_bar_normal_bg">#2d2f31</color>
+ <color name="common_bottom_bar_selected_bg">#161718</color>
+ <color name="common_botton_bar_blue">#2ea7e0</color>
+ <color name="common_bg">#fcfcfc</color>
+ <color name="btn_pressed_green_solid">#B6DA53</color>
+ <color name="divider_list">#d4d4d4</color>
+ <color name="top_bar_normal_bg">@color/theme</color>
+ <color name="error_item_color">#F6EBE6</color>
+ <color name="bottom_bar_normal_bg">#2D2F31</color>
+ <color name="bottom_text_color_normal">#ffffff</color>
+ <color name="btn_white_normal">#f7f8f8</color>
+ <color name="btn_white_pressed">#b5b5b6</color>
+ <color name="btn_green_noraml">#68C270</color>
+ <color name="btn_green_pressed">#6FCD78</color>
+ <color name="btn_gray_normal">#c0c0c0</color>
+ <color name="btn_gray_pressed_status">#b5b5b6</color>
+ <color name="btn_gray_pressed">#666667</color>
+ <color name="btn_blue_normal">#1e90ff</color>
+ <color name="btn_blue_pressed">#0066FF</color>
+ <color name="blue_sky">#34a2ff</color>
+ <color name="color_blue">#5070b2</color>
+ <color name="orange">#FFA500</color>
+ <color name="gray_pressed">#b5b5b6</color>
+ <color name="gray_normal">#666667</color>
+ <color name="grid_state_pressed">#1Affffff</color>
+ <color name="grid_state_focused">#80000000</color>
+ <color name="voip_interface_text_color">#bababa</color>
+ <color name="black_deep">#FF000000</color>
+ <color name="btn_answer_pressed">#4ebcd3</color>
+ <color name="btn_answer_normal">#2dafa3</color>
+ <color name="list_item_secondary_color">#888888</color>
+ <color name="list_item_primary_color">#000</color>
+ <color name="holo_blue_bright">#ff00ddff</color>
+ <color name="holo_green_light">#ff99cc00</color>
+ <color name="holo_orange_light">#ffffbb33</color>
+ <color name="holo_red_light">#ffff4444</color>
+ <color name="holo_black">#ff111111</color>
+
+ <color name="bg_tools_panel">#2F2F2F</color>
+ <color name="color_transparent">#00000000</color>
+
+ <color name="em_blue">#1E88E5</color>
+ <color name="em_blue_pressed">#0000aF</color>
+
+ <color name="em_indicator_select">#9E9E9E</color>
+ <color name="em_indicator_normal">#1AFFFFFF</color>
+
+ <color name="btn_normal">@color/theme</color>
+ <color name="btn_press">#03a687</color>
+
+ <color name="anv_normal">#FFBDBEC0</color>
+
+ <color name="transparent">#00000000</color>
+ <color name="err">#f90c10</color>
+ <color name="green">#06ae3b</color>
+ <color name="theme">#3D71E5</color>
+ <color name="link">@color/theme</color>
+ <color name="deep_blue">#0864ce</color>
+ <color name="txt_enable">#9D9D9D</color>
+ <color name="cut_off_line">#DDDDDD</color>
+ <color name="cut_off_circle">#A4A4A4</color>
+ <color name="txt_normal">#333333</color>
+ <color name="txt_hint">#F9FAFC</color>
+ <color name="input_bg">#F9FAFC</color>
+ <color name="background_color">#f7f7f7</color>
+ <color name="color_gray">#e6ebee</color>
+ <color name="color_gray8">#e6e6e6</color>
+ <color name="ske_blue">#34a7ff</color>
+ <color name="gold">#ffba02</color>
+ <color name="sign_today">#ff6b6a</color>
+
+ <color name="black_10">#1A000000</color>
+ <color name="black_20">#43000000</color>
+ <color name="bottom_menu_btn_bg_common_color">#FFFFFF</color>
+ <color name="bottom_menu_btn_bg_press_color">#EEEEEE</color>
+ <color name="bottom_menu_btn_text_commom_color">#5B729A</color>
+ <color name="bottom_menu_btn_text_press_colot">#3F51B5</color>
+ <color name="bottom_menu_btn_text_stress_color">#FF0000</color>
+ <color name="bottom_menu_layout_color">#00000000</color>
+
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="black_4">#373737</color>
@@ -15,5 +115,11 @@
<color name="enable_sky">#889DB6</color>
<color name="deep_sky">#4184D6</color>
<color name="sky">#509CFA</color>
- <color name="gold">#FAD550</color>
+ <color name="main_bg">#1C2250</color>
+ <color name="color_pink">#E45CB0</color>
+ <color name="color_prog">#52E5C7</color>
+ <color name="trans_blue">#62B8F6</color>
+ <color name="ui_content">#fff8f8f8</color>
+ <color name="cameralist_gray">#e3e3e3</color>
+ <color name="corsor_color">#adadad</color>
</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 60f9c7e..59f56cf 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -1,9 +1,48 @@
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
- <dimen name="activity_horizontal_margin">16dp</dimen>
- <dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="small_radios">3dp</dimen>
- <dimen name="circle">1000dp</dimen>
<dimen name="radios">10dp</dimen>
<dimen name="frame_margin_lr">10dp</dimen>
+
+ <!-- 间距 -->
+ <dimen name="activity_title_bar_height">45dp</dimen>
+ <dimen name="btn_top_buttom_padding">10dp</dimen>
+ <dimen name="edit_text_padding">12dp</dimen>
+ <!-- titleBar或底部栏分割线高度 -->
+ <dimen name="bar_divider_height">4dp</dimen>
+
+ <!-- 字体 -->
+ <dimen name="top_bar_title_size">18sp</dimen>
+ <dimen name="normal_text_size">16sp</dimen>
+ <dimen name="small_text_size">14sp</dimen>
+ <dimen name="smaller_text_size">12sp</dimen>
+ <dimen name="activity_horizontal_margin">10dp</dimen>
+ <dimen name="activity_vertical_margin">10dp</dimen>
+ <dimen name="normal_margin">5dp</dimen>
+ <dimen name="large_margin">15dp</dimen>
+ <dimen name="normal_padding">10dp</dimen>
+ <dimen name="radius">10dp</dimen>
+
+
+ <dimen name="title_height">47dp</dimen>
+ <dimen name="pt_title_height">27pt</dimen>
+ <dimen name="title_size">16sp</dimen>
+ <dimen name="txt_small_size">12sp</dimen>
+ <dimen name="txt_size">12sp</dimen>
+ <dimen name="tab_icon_width">22dp</dimen>
+ <dimen name="tab_icon_height">22dp</dimen>
+ <dimen name="edit_height">40dp</dimen>
+ <dimen name="circle">1000dp</dimen>
+ <dimen name="corner">10dp</dimen>
+ <dimen name="edit_corner">3dp</dimen>
+ <dimen name="pageLeftPadding">20dp</dimen>
+ <dimen name="pic_size">150dp</dimen>
+ <dimen name="sign_text_size">12sp</dimen>
+ <dimen name="sign_text_margin">12dp</dimen>
+ <dimen name="text_padding_left">15dp</dimen>
+
+ <!-- 间距 -->
+ <dimen name="default_margin_lr">27dp</dimen>
+ <dimen name="default_margin_td">12dp</dimen>
+
</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index f26a5c1..db5c358 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -12,4 +12,55 @@
<attr name="rightTextSize" format="dimension" />
<attr name="rightTextColor" format="color" />
</declare-styleable>
+
+
+ <declare-styleable name="LinearLayoutWithText">
+ <attr name="linbackgroundColor" format="color" />
+ <attr name="text_title" format="string" />
+ <attr name="text_titleColor" format="color"/>
+ <attr name="text_right" format="string"/>
+ <attr name="hint_right" format="string" />
+ <attr name="hint_title" format="string" />
+ <attr name="text_rightColor" format="color"/>
+ <attr name="divider_visible">
+ <enum name="visible" value="0" />
+ <enum name="invisible" value="4" />
+ <enum name="gone" value="8" />
+ </attr>
+ <attr name="img_visible">
+ <enum name="visible" value="0" />
+ <enum name="invisible" value="4" />
+ <enum name="gone" value="8" />
+ </attr>
+ <attr name="text_rightSize" format="integer"/>
+ <attr name="text_titleSize" format="integer"/>
+ <attr name="red_poit_count" format="integer"/>
+ <attr name="paddingLeft" format="dimension" />
+ <attr name="paddingRight" format="dimension" />
+ <attr name="paddingTop" format="dimension" />
+ <attr name="paddingBottom" format="dimension" />
+ <attr name="padding" format="dimension" />
+ <attr name="hint_titleColor" format="color"/>
+ <attr name="hint_rightColor" format="color"/>
+ <attr name="leftCompoundDrawable" format="reference" />
+ <attr name="leftCompoundDrawableSize" format="integer"/>
+ <attr name="rightCompoundDrawable" format="reference" />
+ <attr name="enable" format="boolean" />
+ </declare-styleable>
+
+ <declare-styleable name="CircleImageView">
+ <attr name="border_width" format="dimension" />
+ <attr name="border_color" format="color" />
+ </declare-styleable>
+
+ <style name="txt_normal">
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:textSize">@dimen/normal_text_size</item>
+ <item name="android:textColor">@color/txt_color</item>
+ </style>
+
+ <style name="TransparentDialog" parent="Theme.AppCompat.Dialog">
+ <item name="android:windowBackground">@color/transparent</item>
+ </style>
</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 21b5366..99e3317 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -13,4 +13,6 @@
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
+
+
</resources>
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 9563052..8038405 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,6 +4,8 @@
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
+ maven { url 'https://artifact.bytedance.com/repository/pangle' }
+ maven { url "https://jitpack.io" }
}
}
rootProject.name = "OpemMvvm"
--
Gitblit v1.9.1