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

主界面搭起来

詹子聪 5 éve
szülő
commit
cfbab7f9de
27 módosított fájl, 499 hozzáadás és 229 törlés
  1. 1 0
      app/build.gradle
  2. 12 3
      app/src/main/AndroidManifest.xml
  3. 8 4
      app/src/main/java/com/miekir/ym/MainActivity.kt
  4. 6 0
      app/src/main/res/color/selector_edittext_outline.xml
  5. 0 30
      app/src/main/res/drawable-v24/ic_launcher_foreground.xml
  6. 0 170
      app/src/main/res/drawable/ic_launcher_background.xml
  7. 9 0
      app/src/main/res/drawable/ic_more_vert.xml
  8. 9 0
      app/src/main/res/drawable/ic_search.xml
  9. 159 6
      app/src/main/res/layout/activity_main.xml
  10. 0 5
      app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  11. 0 5
      app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  12. BIN
      app/src/main/res/mipmap-hdpi/ic_launcher.png
  13. BIN
      app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  14. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher.png
  15. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  16. BIN
      app/src/main/res/mipmap-xhdpi/ic_launcher.png
  17. BIN
      app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  18. BIN
      app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  19. BIN
      app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  20. BIN
      app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  21. BIN
      app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  22. BIN
      app/src/main/res/mipmap-xxxhdpi/logo_gray.png
  23. 148 3
      app/src/main/res/values/colors.xml
  24. 74 0
      app/src/main/res/values/dimens.xml
  25. 1 1
      app/src/main/res/values/strings.xml
  26. 58 2
      app/src/main/res/values/styles.xml
  27. 14 0
      mvp/src/main/java/com/miekir/mvp/view/ICommonView.java

+ 1 - 0
app/build.gradle

@@ -67,6 +67,7 @@ dependencies {
     compile 'org.aspectj:aspectjrt:1.8.+'
     // 动态权限申请firefly1126/android_permission_aspectjx
     compile 'com.firefly1126.permissionaspect:permissionaspect:1.0.1'
+    implementation 'com.google.android.material:material:1.1.0'
     implementation project(path: ':mvp')
     implementation project(path: ':network')
     implementation project(path: ':common')

+ 12 - 3
app/src/main/AndroidManifest.xml

@@ -2,14 +2,23 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.miekir.ym">
 
+    <uses-permission android:name="android.permission.INTERNET" />
+    <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"/>
+
     <application
         android:allowBackup="true"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
-        android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
-        android:theme="@style/AppTheme">
-        <activity android:name=".MainActivity">
+        android:theme="@style/AppTheme"
+        android:requestLegacyExternalStorage="true"
+        android:networkSecurityConfig="@xml/network">
+        <activity android:name=".MainActivity"
+            android:configChanges="orientation|screenSize|keyboardHidden"
+            android:screenOrientation="portrait"
+            android:theme="@style/AppTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 

+ 8 - 4
app/src/main/java/com/miekir/ym/MainActivity.kt

@@ -2,10 +2,14 @@ package com.miekir.ym
 
 import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
+import com.miekir.mvp.view.BaseMvpActivity
+
+class MainActivity : BaseMvpActivity() {
+    override fun getLayoutId(): Int {
+        return R.layout.activity_main
+    }
+
+    override fun initViews(savedInstanceState: Bundle?) {
 
-class MainActivity : AppCompatActivity() {
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        setContentView(R.layout.activity_main)
     }
 }

+ 6 - 0
app/src/main/res/color/selector_edittext_outline.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/colorPrimary" android:state_focused="true" />
+    <item android:color="@color/colorPrimaryDark" />  <!-- unfocused -->
+</selector>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 30
app/src/main/res/drawable-v24/ic_launcher_foreground.xml


+ 0 - 170
app/src/main/res/drawable/ic_launcher_background.xml

@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="108dp"
-    android:height="108dp"
-    android:viewportWidth="108"
-    android:viewportHeight="108">
-    <path
-        android:fillColor="#3DDC84"
-        android:pathData="M0,0h108v108h-108z" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M9,0L9,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,0L19,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,0L29,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,0L39,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,0L49,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,0L59,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,0L69,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,0L79,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M89,0L89,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M99,0L99,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,9L108,9"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,19L108,19"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,29L108,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,39L108,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,49L108,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,59L108,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,69L108,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,79L108,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,89L108,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,99L108,99"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,29L89,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,39L89,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,49L89,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,59L89,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,69L89,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,79L89,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,19L29,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,19L39,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,19L49,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,19L59,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,19L69,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,19L79,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-</vector>

+ 9 - 0
app/src/main/res/drawable/ic_more_vert.xml

@@ -0,0 +1,9 @@
+<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,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
+</vector>

+ 9 - 0
app/src/main/res/drawable/ic_search.xml

@@ -0,0 +1,9 @@
+<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="#444444"
+        android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
+</vector>

+ 159 - 6
app/src/main/res/layout/activity_main.xml

@@ -1,14 +1,167 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".MainActivity">
+    android:fitsSystemWindows="true">
 
-    <EditText
+    <com.google.android.material.appbar.AppBarLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:inputType="number"/>
+        android:id="@+id/abl_main"
+        android:background="@color/white">
+        <!--android:theme="@style/AppTheme.AppBarOverlay"-->
 
-</LinearLayout>
+        <!--android:minHeight="?actionBarSize"水波纹居中和gravity属性有关-->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="64dp"
+            android:paddingStart="@dimen/margin_default"
+            android:paddingEnd="0dp"
+            android:orientation="horizontal"
+            app:layout_scrollFlags="scroll|enterAlways|snap"
+            android:paddingTop="@dimen/margin_default"
+            android:gravity="center_vertical">
+            <ImageView
+                android:layout_width="@dimen/size_icon_big"
+                android:layout_height="@dimen/size_icon_big"
+                android:layout_gravity="center_vertical"
+                android:scaleType="fitXY"
+                android:src="@mipmap/logo_gray"
+                android:tint="@color/black_theme"
+                android:visibility="gone"/>
+            <TextView
+                android:id="@+id/title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="羊毛党 · 精选"
+                android:textStyle="bold"
+                android:textColor="@color/black_theme"
+                android:textSize="@dimen/size_hello" />
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"/>
+
+            <!--上方搜索-->
+            <FrameLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content">
+                <RelativeLayout
+                    android:id="@+id/rl_search_top"
+                    android:layout_width="@dimen/height_edit_text"
+                    android:layout_height="@dimen/height_sliding_tab"
+                    android:background="?attr/selectableItemBackgroundBorderless">
+                    <!--无边界波纹-->
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:src="@drawable/ic_search"
+                        android:tint="@color/black_theme" />
+                </RelativeLayout>
+
+                <!--由于作为ViewOverlay的View不再触发点击事件,就用一个影子View来代替-->
+                <RelativeLayout
+                    android:id="@+id/rl_search_top_shadow"
+                    android:layout_width="@dimen/height_edit_text"
+                    android:layout_height="@dimen/height_sliding_tab">
+                    <!--无边界波纹-->
+                    <FrameLayout
+                        android:id="@+id/fl_search_top"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:padding="@dimen/margin_ss"
+                        android:background="?attr/selectableItemBackgroundBorderless">
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:src="@drawable/ic_search"
+                            android:tint="@color/black_theme"/>
+                    </FrameLayout>
+
+                </RelativeLayout>
+            </FrameLayout>
+
+            <!--更多-->
+            <RelativeLayout
+                android:layout_width="@dimen/height_edit_text"
+                android:layout_height="@dimen/height_sliding_tab">
+                <FrameLayout
+                    android:id="@+id/fl_more"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_centerInParent="true"
+                    android:padding="@dimen/margin_ss"
+                    android:background="?attr/selectableItemBackgroundBorderless">
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:src="@drawable/ic_more_vert"
+                        android:tint="@color/black_theme"/>
+                </FrameLayout>
+            </RelativeLayout>
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:gravity="center_vertical"
+            android:background="@color/white">
+
+            <com.flyco.tablayout.SlidingTabLayout
+                android:id="@+id/stl_home"
+                android:layout_width="0dp"
+                android:layout_weight="1"
+                android:layout_height="@dimen/height_sliding_tab"
+                android:layout_gravity="center_horizontal"
+                app:tl_iconVisible="false"
+                app:tl_indicator_bounce_enable="false"
+                app:tl_indicator_color="@color/black_theme"
+                app:tl_indicator_height="2.5dp"
+                app:tl_indicator_width="10dp"
+                app:tl_tab_width="44dp"
+                app:tl_textBold="NONE"
+                app:tl_textSelectColor="@color/black"
+                app:tl_textUnselectColor="@color/colorTextSecondary"
+                app:tl_textsize="@dimen/size_title_s"
+                app:tl_indicator_margin_bottom="@dimen/margin_s"
+                android:layout_marginStart="@dimen/margin_s"
+                android:layout_marginEnd="@dimen/margin_default"/>
+
+            <!--搜索-->
+            <RelativeLayout
+                android:id="@+id/rl_search"
+                android:layout_width="@dimen/height_edit_text"
+                android:layout_height="@dimen/height_sliding_tab"
+                android:visibility="invisible">
+
+                <FrameLayout
+                    android:id="@+id/fl_search"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_centerInParent="true"
+                    android:padding="@dimen/margin_ss"
+                    android:background="?attr/selectableItemBackgroundBorderless">
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:src="@drawable/ic_search"
+                        android:tint="@color/black_theme"/>
+                </FrameLayout>
+                <!--无边界波纹-->
+
+            </RelativeLayout>
+
+        </LinearLayout>
+    </com.google.android.material.appbar.AppBarLayout>
+
+    <androidx.viewpager.widget.ViewPager
+        android:id="@+id/vp_main"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
+</androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 0 - 5
app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

@@ -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>

+ 0 - 5
app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml

@@ -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>

BIN
app/src/main/res/mipmap-hdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-hdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-xxxhdpi/logo_gray.png


+ 148 - 3
app/src/main/res/values/colors.xml

@@ -1,6 +1,151 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="colorPrimary">#6200EE</color>
-    <color name="colorPrimaryDark">#3700B3</color>
-    <color name="colorAccent">#03DAC5</color>
+    <color name="colorPrimary">#fafafa</color>
+    <color name="colorPrimaryDark">#fafafa</color>
+    <color name="colorAccent">@color/green_logo</color>
+
+    <color name="gray">#ededed</color>
+    <color name="grayDark">#adadad</color>
+    <color name="gray_text_1">#62656A</color>
+    <color name="gray_text_2">#5F6267</color>
+    <color name="gray_normal">#6D6D6D</color>
+    <color name="gray_hint">#81868B</color>
+    <color name="gray_status_bar">#C1C1C1</color>
+    <color name="gray_divider_1">#E0E0E0</color>
+    <color name="gray_divider_2">#adadad</color>
+    <color name="gray_disabled">#4DFFFFFF</color>
+    <color name="gray_text">#222222</color>
+    <color name="gray_bg_default">#F3F3F3</color>
+    <color name="gray_status_bar_2">#C8C8C8</color>
+    <!-- 内容文字,正文 -->
+    <color name="gray_text_s">#777777</color>
+    <!-- 辅助文字,提示 -->
+    <color name="gray_text_hint">#ababab</color>
+    <!--<color name="gray_light">#CCCCCC</color>-->
+    <!-- 分割线 -->
+    <color name="gray_divider_light">#d9d9d9</color>
+    <color name="gray_divider_light_transparent">#80D9D9D9</color>
+    <color name="gray_divider_light_s">#ebebeb</color>
+    <color name="gray_divider_light_ss">#eeeeee</color>
+    <!--<color name="gray_divider_light_ss">#f0f0f0</color>-->
+    <color name="gray_loading">#26E0E0E0</color>
+    <color name="gray_tab_unchecked">#717171</color>
+
+    <color name="black">#000000</color>
+    <color name="black_light">#252525</color>
+    <color name="black_light_transparent">#6B1B1B1B</color>
+    <color name="black_dark">#1b1b1b</color>
+    <color name="black_standard">#333333</color>
+    <color name="black_title">#5F6267</color>
+    <color name="black_theme">#3C4043</color>
+    <color name="black_text">#3C4043</color>
+    <color name="black_text_hint">#A6A6A6</color>
+    <color name="black_text_comfortable">#565656</color>
+
+    <color name="purple">#ad77e6</color>
+
+    <!--<color name="white_slight">#e8e8e8</color>-->
+    <color name="white">#FFFFFF</color>
+    <color name="white_slight">#f7f7f7</color>
+    <color name="white_transparent">#26000000</color>
+    <color name="white_transparent_p">#80FFFFFF</color>
+    <color name="transparent">#00000000</color>
+
+    <color name="blue">#337AB7</color>
+    <color name="blue_dark">#286090</color>
+
+    <color name="blue_info">#5BC0DE</color>
+    <color name="blue_info_dark">#31B0D5</color>
+
+    <color name="blue_alipay">#1b82d2</color>
+    <color name="blue_alipay_dark">#14619d</color>
+    <color name="blue_alipay_icon">#009fe8</color>
+    <color name="blue_light">#33b5e5</color>
+
+    <color name="yellow">#F0AD4E</color>
+    <color name="yellow_dark">#EC971F</color>
+
+    <color name="red">#D9534F</color>
+    <color name="red_text">#F24235</color>
+    <color name="red_dark">#C9302C</color>
+
+    <color name="red_2">#ff8573</color>
+    <color name="red_light">#ff8a80</color>
+
+    <color name="green_primary">#075E55</color>
+    <color name="green_primary_dark">#054C44</color>
+    <color name="green_arrow">#147D6F</color>
+
+    <color name="green_bright">#00875F</color>
+    <color name="green_bright_dark">#006C4C</color>
+    <color name="green_logo">#11B667</color>
+
+    <color name="green_pressed">#118d58</color>
+    <color name="green_search_bg">#3fb179</color>
+    <color name="green_light">#263fb179</color>
+    <color name="green_divider">#733FB179</color>
+    <color name="green_droid">#42C662</color>
+    <color name="black_droid_text">#6D6D6D</color>
+    <color name="red_droid">#F47C88</color>
+    <color name="blue_droid">#66ABF2</color>
+    <color name="blue_droid_bright">#66D6F2</color>
+    <color name="yellow_droid">#FFB966</color>
+    <color name="blue_meituan_bg">#579EFD</color>
+
+    <color name="green">#5CB85C</color>
+    <color name="green_dark">#449D44</color>
+
+    <!--开眼-->
+    <color name="colorAccentAlpha60">#6661f2d4</color>
+    <color name="colorTextPrimary">#444444</color>
+    <color name="colorTextPrimaryDark">#333333</color>
+    <color name="colorTextSecondary">#888888</color>
+    <color name="whiteAlpha85">#26ffffff</color>
+    <color name="whiteAlpha80">#33ffffff</color>
+    <color name="whiteAlpha60">#66ffffff</color>
+    <color name="whiteAlpha50">#80ffffff</color>
+    <color name="whiteAlpha35">#a6ffffff</color>
+    <color name="whiteAlpha25">#bfffffff</color>
+    <color name="whiteAlpha20">#ccffffff</color>
+    <color name="whiteAlpha10">#e6ffffff</color>
+    <color name="blackAlpha95">#0d000000</color>
+    <color name="blackAlpha85">#26000000</color>
+    <color name="blackAlpha80">#33000000</color>
+    <color name="blackAlpha70">#4d000000</color>
+    <color name="blackAlpha60">#66000000</color>
+    <color name="blackAlpha55">#73000000</color>
+    <color name="blackAlpha50">#80000000</color>
+    <color name="blackAlpha45">#8c000000</color>
+    <color name="blackAlpha20">#cc000000</color>
+    <color name="loading">#cdcdcd</color>
+
+
+    <color name="jd_red_from">#F2130C</color>
+    <color name="jd_red_to">#F24D0D</color>
+
+    <color name="jd_red_btn_from">#F30100</color>
+    <color name="jd_red_bg_tag_from">#F3180D</color>
+    <color name="jd_red_bg_tag_to">#FF652F</color>
+    <color name="jd_red_btn_to">#FE4B16</color>
+    <color name="jd_red_price">#F3270C</color>
+    <color name="jd_gray_bg_tag">#F2F2F2</color>
+    <color name="jd_gray_bg_tag_from">#F6F6F6</color>
+    <color name="jd_gray_bg_text">#686868</color>
+    <color name="jd_gray_text">#8C8C8C</color>
+    <color name="jd_black_price">#232325</color>
+    <color name="jd_black_bg_plus">#2C2C2C</color>
+    <color name="jd_black_bg_tag">#2D2D2D</color>
+    <color name="jd_yellow_plus">#F5EA98</color>
+    <color name="jd_yellow_price">#FCE562</color>
+    <color name="jd_yellow_bg_tag_select_from">#FFD205</color>
+    <color name="jd_yellow_bg_tag_select_to">#FEE80B</color>
+    <color name="jd_yellow_buy_btn_from">#FFA600</color>
+    <color name="jd_yellow_buy_btn_to">#FFBB00</color>
+    <color name="jd_yellow_btn_from_light">#FEE3AC</color>
+    <color name="jd_yellow_btn_to_dark">#FFCD6E</color>
+    <color name="jd_blue_bg_tag_from">#2F3162</color>
+    <color name="jd_blue_bg_tag_to">#2F3162</color>
+    <color name="jd_purple_bg">#5323B3</color>
+    <color name="jd_purple_bg_light">#7844E4</color>
+    <color name="jd_purple_bg_dark">#5029A6</color>
 </resources>

+ 74 - 0
app/src/main/res/values/dimens.xml

@@ -0,0 +1,74 @@
+<resources xmlns:tools="http://schemas.android.com/tools">
+    <!-- Default screen margins, per the Android Design guidelines. -->
+    <dimen name="activity_horizontal_margin">16dp</dimen>
+    <dimen name="activity_horizontal_margin_s">8dp</dimen>
+    <dimen name="activity_horizontal_margin_ss">6dp</dimen>
+    <dimen name="activity_vertical_margin">16dp</dimen>
+    <dimen name="activity_vertical_margin_s">8dp</dimen>
+
+    <!-- 底部菜单选中字体大小 -->
+    <dimen name="design_bottom_navigation_active_text_size" tools:override="true">8.8sp</dimen>
+    <!-- 底部菜单未选中字体大小 -->
+    <dimen name="design_bottom_navigation_text_size" tools:override="true">8.6sp</dimen>
+    <!-- 底部导航栏高度 -->
+    <dimen name="design_bottom_navigation_height" tools:override="true">46dp</dimen>
+    <dimen name="design_bottom_navigation_height_with_divider" tools:override="true">48.1dp</dimen>
+    <dimen name="design_bottom_navigation_margin" tools:override="true">7.5dp</dimen>
+    <dimen name="design_navigation_icon_padding" tools:override="true">6dp</dimen>
+
+    <dimen name="size_icon_big">32dp</dimen>
+    <dimen name="size_icon">20dp</dimen>
+
+    <dimen name="margin_default">16dp</dimen>
+    <dimen name="margin_message">12dp</dimen>
+    <dimen name="padding_full_width">12.8dp</dimen>
+    <dimen name="margin_s">8dp</dimen>
+    <dimen name="margin_ss">4dp</dimen>
+    <dimen name="margin_tag">3.2dp</dimen>
+    <dimen name="margin_sss">2dp</dimen>
+    <dimen name="padding_tag">1dp</dimen>
+    <dimen name="padding_slim">0.5dp</dimen>
+    <dimen name="size_image_bar">120dp</dimen>
+    <dimen name="size_image_huge">96dp</dimen>
+    <dimen name="size_image_hd">144dp</dimen>
+    <dimen name="size_image_list">128dp</dimen>
+    <dimen name="size_image_big">74dp</dimen>
+    <dimen name="size_image_normal">48dp</dimen>
+    <dimen name="size_image_s">24dp</dimen>
+    <dimen name="size_image_setting">20dp</dimen>
+    <dimen name="size_image_ss">16dp</dimen>
+    <dimen name="size_image_sss">8dp</dimen>
+
+    <dimen name="size_hello">20sp</dimen>
+    <dimen name="size_title_s">15sp</dimen>
+    <dimen name="text_title">17sp</dimen>
+    <dimen name="text_sub_title">16sp</dimen>
+    <dimen name="text_normal_p">14.5sp</dimen>
+    <dimen name="text_normal">14sp</dimen>
+    <dimen name="text_normal_s">12.8sp</dimen>
+    <dimen name="text_s">12sp</dimen>
+    <dimen name="text_rebate_tips">11sp</dimen>
+    <dimen name="text_ss">9.8sp</dimen>
+    <dimen name="text_shop_name">9.8sp</dimen>
+    <dimen name="text_sss">8.4sp</dimen>
+
+    <dimen name="radius_default">4dp</dimen>
+    <dimen name="radius_indicator">1.5dp</dimen>
+    <dimen name="radius_s">2.5dp</dimen>
+
+    <dimen name="width_min_code">64dp</dimen>
+    <dimen name="height_tab_bar">48dp</dimen>
+    <dimen name="height_tool_item">60dp</dimen>
+    <dimen name="height_template_item">56dp</dimen>
+    <dimen name="height_indicator">3dp</dimen>
+    <dimen name="width_stroke">0.9dp</dimen>
+    <dimen name="height_divider_micro">1px</dimen>
+    <dimen name="height_edit_text">40dp</dimen>
+    <dimen name="height_sliding_tab">48dp</dimen>
+    <dimen name="height_edit_text_s">32dp</dimen>
+    <dimen name="height_edit_text_search">36dp</dimen>
+    <dimen name="height_cover">182.7dp</dimen>
+    <dimen name="height_tool_bar">52dp</dimen>
+
+    <dimen name="width_indicator">25dp</dimen>
+</resources>

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -1,3 +1,3 @@
 <resources>
-    <string name="app_name">YangMao</string>
+    <string name="app_name">羊毛党</string>
 </resources>

+ 58 - 2
app/src/main/res/values/styles.xml

@@ -1,10 +1,66 @@
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
     <!-- Base application theme. -->
-    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
         <!-- Customize your theme here. -->
         <item name="colorPrimary">@color/colorPrimary</item>
         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
         <item name="colorAccent">@color/colorAccent</item>
     </style>
 
+    <style name="SplashTheme" parent="AppTheme">
+        <item name="windowActionBar">false</item>
+        <item name="android:windowNoTitle">true</item>
+
+        <item name="android:statusBarColor">@color/gray_status_bar</item>
+        <item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
+
+
+
+        <!--<item name="android:windowIsTranslucent">true</item>-->
+        <!--用下面这个属性代替windowIsTranslucent,否则在8.0上配合portrait属性会导致闪退-->
+        <item name="android:windowDisablePreview">true</item>
+        <!--<item name="android:windowFullscreen">true</item>-->
+        <item name="android:windowActionBar">false</item>
+
+        <!--解决全屏的时候底部content和导航栏之间有一根白线的现象-->
+        <item name="android:windowContentOverlay">@null</item>
+        <!--<item name="android:windowBackground">@color/colorPrimaryDark</item>-->
+    </style>
+
+
+    <style name="BackTheme" parent="AppTheme">
+        <!--改变下面这个颜色可以改变返回按钮的颜色-->
+        <item name="android:textColorSecondary">@color/black_theme</item>
+
+        <item name="android:statusBarColor">@color/gray_status_bar</item>
+        <item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
+    </style>
+
+
+    <!--ToolBar文字样式-->
+    <style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
+        <item name="android:textSize">16sp</item>
+        <item name="android:textColor">@color/black_theme</item>
+    </style>
+
+    <style name="TextInputLayoutStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
+        <item name="boxStrokeColor">@color/selector_edittext_outline</item>
+    </style>
+
+    <!--必须使用这个主题,同时支持AppCompat和MaterialComponents-->
+    <style name="TextInputStyle" parent="Theme.MaterialComponents.Light.NoActionBar">
+        <!--TextInputLayout默认stroke颜色-->
+        <item name="colorOnSurface">@color/gray_text_2</item>
+
+        <!--改变下面这个颜色可以改变返回按钮的颜色-->
+        <item name="android:textColorSecondary">@color/black_theme</item>
+        <item name="colorPrimary">@color/black_theme</item>
+        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+        <item name="colorAccent">@color/black_theme</item>
+        <item name="windowActionBar">false</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:statusBarColor">@color/gray_status_bar</item>
+        <item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
+    </style>
+
 </resources>

+ 14 - 0
mvp/src/main/java/com/miekir/mvp/view/ICommonView.java

@@ -0,0 +1,14 @@
+package com.miekir.mvp.view;
+
+/**
+ *
+ *
+ * @author Miekir
+ * @date 2020/7/8 19:44
+ */
+public interface ICommonView<T> extends IView {
+    default void onCommonResult(boolean success, String message, T resultBean) {
+        //要在实现类显示调用ICommonView.super.onCommonResult(success, message, resultBean);才会生效
+        //dismissLoading();
+    }
+}