Parcourir la source

1.界面的编写
2.

Tony il y a 5 ans
Parent
commit
9d6b96a10d
49 fichiers modifiés avec 1032 ajouts et 14 suppressions
  1. 6 1
      app/build.gradle
  2. 4 0
      app/src/main/AndroidManifest.xml
  3. 9 0
      app/src/main/java/com/sunzee/base/BaseActivity.java
  4. 0 1
      app/src/main/java/com/sunzee/base/BaseFragment.java
  5. 6 0
      app/src/main/java/com/sunzee/mvp/advanceparameter/AdvanceParameterPresenter.java
  6. 6 0
      app/src/main/java/com/sunzee/mvp/advanceparameter/AdvanceParameterView.java
  7. 6 0
      app/src/main/java/com/sunzee/mvp/alarmrecord/AlarmRecordPresenter.java
  8. 6 0
      app/src/main/java/com/sunzee/mvp/alarmrecord/AlarmRecordView.java
  9. 6 0
      app/src/main/java/com/sunzee/mvp/debug/DebugPresenter.java
  10. 6 0
      app/src/main/java/com/sunzee/mvp/debug/DebugView.java
  11. 6 0
      app/src/main/java/com/sunzee/mvp/generalparameter/GeneralParameterPresenter.java
  12. 6 0
      app/src/main/java/com/sunzee/mvp/generalparameter/GeneralParameterView.java
  13. 6 0
      app/src/main/java/com/sunzee/mvp/home/HomeView.java
  14. 6 0
      app/src/main/java/com/sunzee/mvp/homepage/HomePagePresenter.java
  15. 6 0
      app/src/main/java/com/sunzee/mvp/homepage/HomePageView.java
  16. 6 0
      app/src/main/java/com/sunzee/mvp/languageset/LanguageSetPresenter.java
  17. 6 0
      app/src/main/java/com/sunzee/mvp/languageset/LanguageSetView.java
  18. 1 0
      app/src/main/java/com/sunzee/mvp/main/MainView.java
  19. 6 0
      app/src/main/java/com/sunzee/mvp/other/OtherPresenter.java
  20. 6 0
      app/src/main/java/com/sunzee/mvp/other/OtherView.java
  21. 6 0
      app/src/main/java/com/sunzee/mvp/passwordreset/PasswordResetPresenter.java
  22. 6 0
      app/src/main/java/com/sunzee/mvp/passwordreset/PasswordResetView.java
  23. 6 0
      app/src/main/java/com/sunzee/mvp/showmaterial/ShowMaterialPresenter.java
  24. 6 0
      app/src/main/java/com/sunzee/mvp/showmaterial/ShowMaterialView.java
  25. 7 0
      app/src/main/java/com/sunzee/mvp/statistics/StatisticsPresenter.java
  26. 6 0
      app/src/main/java/com/sunzee/mvp/statistics/StatisticsView.java
  27. 43 0
      app/src/main/java/com/sunzee/ui/AdvanceParameterFragment.java
  28. 43 0
      app/src/main/java/com/sunzee/ui/AlarmRecordFragment.java
  29. 43 0
      app/src/main/java/com/sunzee/ui/DebugFragment.java
  30. 43 0
      app/src/main/java/com/sunzee/ui/GeneralParameterFragment.java
  31. 76 0
      app/src/main/java/com/sunzee/ui/HomeActivity.java
  32. 41 0
      app/src/main/java/com/sunzee/ui/HomepageFragment.java
  33. 43 0
      app/src/main/java/com/sunzee/ui/LanguageSetFragment.java
  34. 1 1
      app/src/main/java/com/sunzee/ui/MainActivity.java
  35. 43 0
      app/src/main/java/com/sunzee/ui/OtherFragment.java
  36. 43 0
      app/src/main/java/com/sunzee/ui/PasswordResetFragment.java
  37. 43 0
      app/src/main/java/com/sunzee/ui/ShowMaterialFragment.java
  38. 43 0
      app/src/main/java/com/sunzee/ui/StatisticsFragment.java
  39. 63 0
      app/src/main/java/com/sunzee/utils/HomePagerSimpleFactory.java
  40. 14 0
      app/src/main/res/layout/fragment_advance_parameter.xml
  41. 14 0
      app/src/main/res/layout/fragment_alarm_record.xml
  42. 12 0
      app/src/main/res/layout/fragment_debug.xml
  43. 14 0
      app/src/main/res/layout/fragment_general_parameter.xml
  44. 13 0
      app/src/main/res/layout/fragment_show_material.xml
  45. 236 0
      app/src/main/res/layout/fragment_statistics.xml
  46. 0 6
      app/src/main/res/values-w820dp/dimens.xml
  47. 3 1
      app/src/main/res/values/dimens.xml
  48. 10 3
      app/src/main/res/values/styles.xml
  49. 1 1
      gradle.properties

+ 6 - 1
app/build.gradle

@@ -24,13 +24,18 @@ ext {
 dependencies {
     implementation fileTree(include: ['*.jar'], dir: 'libs')
     implementation "com.wuxiaolong.androidutils:androidutils:$androidutilsVersion"
+    //noinspection GradleCompatible,GradleDependency
     implementation "com.android.support:appcompat-v7:$appcompatVersion"
+    //黄油刀
     annotationProcessor "com.jakewharton:butterknife-compiler:$butterknifeVersion"
+    //retrofit2
     implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"
     implementation "com.squareup.okhttp3:logging-interceptor:$logginginterceptor"
     implementation "com.squareup.retrofit2:converter-gson:$retrofitVersion"
     implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofitVersion"
+    //rxjava
     implementation "io.reactivex.rxjava2:rxandroid:$rxandroidVersion"
     implementation "io.reactivex.rxjava2:rxjava:$rxjavaVersion"
-
+    implementation "com.android.support:design:27.1.1"
+    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
 }

+ 4 - 0
app/src/main/AndroidManifest.xml

@@ -7,11 +7,15 @@
         android:allowBackup="true"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
+        android:supportsRtl="true"
         android:theme="@style/AppTheme">
         <activity
             android:name="com.sunzee.ui.MainActivity"
             android:label="@string/app_name"
             android:screenOrientation="portrait">
+
+        </activity>
+        <activity android:name=".ui.HomeActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 

+ 9 - 0
app/src/main/java/com/sunzee/base/BaseActivity.java

@@ -12,6 +12,7 @@ import android.view.ViewGroup;
 import android.widget.TextView;
 import android.widget.Toast;
 
+
 import com.sunzee.retrofit.ApiClient;
 import com.sunzee.retrofit.ApiStores;
 import com.sunzee.R;
@@ -31,9 +32,14 @@ import retrofit2.Call;
 
 public abstract class BaseActivity extends AppCompatActivity {
     public Activity mActivity;
+    //它可以对我们订阅的请求进行统一管理。
     private CompositeDisposable mCompositeDisposable;
     private List<Call> calls;
 
+    /**
+     * oncreate方法指定的时候会指定setContentView来设将指定的资源xml文件加载到对应的activity中
+     * 我们可以重写他。
+     */
     @Override
     public void setContentView(@LayoutRes int layoutResID) {
         super.setContentView(layoutResID);
@@ -56,11 +62,14 @@ public abstract class BaseActivity extends AppCompatActivity {
 
     @Override
     protected void onDestroy() {
+        //如果页面销毁,那么取消retrofit的请求轮询,或者停止操作都可以。
         callCancel();
+        //取消订阅
         onUnsubscribe();
         super.onDestroy();
     }
 
+    //返回ApiStores接口对象,我们就可以直接进行接口的请求
     public ApiStores apiStores() {
         return ApiClient.retrofit().create(ApiStores.class);
     }

+ 0 - 1
app/src/main/java/com/sunzee/base/BaseFragment.java

@@ -18,7 +18,6 @@ import io.reactivex.observers.DisposableObserver;
 public class BaseFragment extends Fragment {
     public Activity mActivity;
 
-
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);

+ 6 - 0
app/src/main/java/com/sunzee/mvp/advanceparameter/AdvanceParameterPresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.advanceparameter;
+
+import com.sunzee.base.BasePresenter;
+
+public class AdvanceParameterPresenter extends BasePresenter<AdvanceParameterView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/advanceparameter/AdvanceParameterView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.advanceparameter;
+
+import com.sunzee.base.BaseView;
+
+public interface AdvanceParameterView extends BaseView {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/alarmrecord/AlarmRecordPresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.alarmrecord;
+
+import com.sunzee.base.BasePresenter;
+
+public class AlarmRecordPresenter extends BasePresenter<AlarmRecordView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/alarmrecord/AlarmRecordView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.alarmrecord;
+
+import com.sunzee.base.BaseView;
+
+public interface AlarmRecordView extends BaseView {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/debug/DebugPresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.debug;
+
+import com.sunzee.base.BasePresenter;
+
+public class DebugPresenter extends BasePresenter<DebugView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/debug/DebugView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.debug;
+
+import com.sunzee.base.BaseView;
+
+public interface DebugView extends BaseView {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/generalparameter/GeneralParameterPresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.generalparameter;
+
+import com.sunzee.base.BasePresenter;
+
+public class GeneralParameterPresenter  extends BasePresenter<GeneralParameterView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/generalparameter/GeneralParameterView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.generalparameter;
+
+import com.sunzee.base.BaseView;
+
+public interface GeneralParameterView extends BaseView {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/home/HomeView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.home;
+
+import com.sunzee.base.BaseView;
+
+public interface HomeView extends BaseView {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/homepage/HomePagePresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.homepage;
+
+import com.sunzee.base.BasePresenter;
+
+public class HomePagePresenter extends BasePresenter<HomePageView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/homepage/HomePageView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.homepage;
+
+import com.sunzee.base.BaseView;
+
+public interface HomePageView extends BaseView {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/languageset/LanguageSetPresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.languageset;
+
+import com.sunzee.base.BasePresenter;
+
+public class LanguageSetPresenter  extends BasePresenter<LanguageSetView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/languageset/LanguageSetView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.languageset;
+
+import com.sunzee.base.BaseView;
+
+public interface LanguageSetView extends BaseView {
+}

+ 1 - 0
app/src/main/java/com/sunzee/mvp/main/MainView.java

@@ -11,6 +11,7 @@ import java.util.HashMap;
 public interface MainView extends BaseView {
     // 用map接收 返回值
     void getDataSuccess(HashMap result);
+
     // 用bean接收 返回值
     void getDataSuccess(EmailResult model);
 

+ 6 - 0
app/src/main/java/com/sunzee/mvp/other/OtherPresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.other;
+
+import com.sunzee.base.BasePresenter;
+
+public class OtherPresenter extends BasePresenter<OtherView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/other/OtherView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.other;
+
+import com.sunzee.base.BaseView;
+
+public interface OtherView extends BaseView {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/passwordreset/PasswordResetPresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.passwordreset;
+
+import com.sunzee.base.BasePresenter;
+
+public class PasswordResetPresenter extends BasePresenter {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/passwordreset/PasswordResetView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.passwordreset;
+
+import com.sunzee.base.BaseView;
+
+public interface PasswordResetView extends BaseView {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/showmaterial/ShowMaterialPresenter.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.showmaterial;
+
+import com.sunzee.base.BasePresenter;
+
+public class ShowMaterialPresenter extends BasePresenter<ShowMaterialView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/showmaterial/ShowMaterialView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.showmaterial;
+
+import com.sunzee.base.BaseView;
+
+public interface ShowMaterialView extends BaseView {
+}

+ 7 - 0
app/src/main/java/com/sunzee/mvp/statistics/StatisticsPresenter.java

@@ -0,0 +1,7 @@
+package com.sunzee.mvp.statistics;
+
+import com.sunzee.base.BasePresenter;
+import com.sunzee.base.BaseView;
+
+public class StatisticsPresenter extends BasePresenter<StatisticsView> {
+}

+ 6 - 0
app/src/main/java/com/sunzee/mvp/statistics/StatisticsView.java

@@ -0,0 +1,6 @@
+package com.sunzee.mvp.statistics;
+
+import com.sunzee.base.BaseView;
+
+public interface StatisticsView extends BaseView {
+}

+ 43 - 0
app/src/main/java/com/sunzee/ui/AdvanceParameterFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.advanceparameter.AdvanceParameterPresenter;
+import com.sunzee.mvp.advanceparameter.AdvanceParameterView;
+
+/**
+ * 进阶参数界面
+ */
+public class AdvanceParameterFragment extends MvpFragment<AdvanceParameterPresenter> implements AdvanceParameterView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_advance_parameter, container, false);
+        return inflate;
+    }
+
+
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    protected AdvanceParameterPresenter createPresenter() {
+        return null;
+    }
+}

+ 43 - 0
app/src/main/java/com/sunzee/ui/AlarmRecordFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.alarmrecord.AlarmRecordPresenter;
+import com.sunzee.mvp.alarmrecord.AlarmRecordView;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+
+/**
+ * 报警记录界面
+ */
+public class AlarmRecordFragment extends MvpFragment<AlarmRecordPresenter> implements AlarmRecordView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_alarm_record, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected AlarmRecordPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 43 - 0
app/src/main/java/com/sunzee/ui/DebugFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.debug.DebugPresenter;
+import com.sunzee.mvp.debug.DebugView;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+
+/**
+ * 调试页界面
+ */
+public class DebugFragment extends MvpFragment<DebugPresenter> implements DebugView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_debug, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected DebugPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 43 - 0
app/src/main/java/com/sunzee/ui/GeneralParameterFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.generalparameter.GeneralParameterPresenter;
+import com.sunzee.mvp.generalparameter.GeneralParameterView;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+
+/**
+ * 通用参数界面
+ */
+public class GeneralParameterFragment extends MvpFragment<GeneralParameterPresenter> implements GeneralParameterView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_general_parameter, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected GeneralParameterPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 76 - 0
app/src/main/java/com/sunzee/ui/HomeActivity.java

@@ -0,0 +1,76 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.design.widget.NavigationView;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentTransaction;
+import android.view.MenuItem;
+
+import com.sunzee.R;
+import com.sunzee.base.BaseFragment;
+import com.sunzee.base.MvpActivity;
+import com.sunzee.mvp.home.HomePresenter;
+import com.sunzee.mvp.home.HomeView;
+import com.sunzee.utils.HomePagerSimpleFactory;
+
+public class HomeActivity extends MvpActivity<HomePresenter> implements HomeView {
+
+    private NavigationView mNavigationView;
+    private FragmentManager mFragmentManager;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_home);
+        initView();
+        initEvent();
+    }
+
+    private void initEvent() {
+        mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
+            @Override
+            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
+                //根据id切换页面
+                BaseFragment baseFragment = switchPage(item);
+                if (baseFragment != null) {
+                    switchFragment(baseFragment);
+                }
+                return true;
+            }
+        });
+    }
+
+    private BaseFragment switchPage(MenuItem item) {
+        /**
+         * 1.一直频繁来回切换的。
+         * 2.那么对象不能创建太多。单例。
+         * 3.每个页面都是一个新的对象。
+         */
+        BaseFragment fragment = HomePagerSimpleFactory.getFragment(item.getItemId());
+        return fragment;
+    }
+
+    private void initView() {
+        mNavigationView = findViewById(R.id.bnv_main_navigationbar);
+        mNavigationView.setItemIconTintList(null);
+        mFragmentManager = getSupportFragmentManager();
+    }
+
+    @Override
+    protected HomePresenter createPresenter() {
+        return null;
+    }
+
+    /**
+     * 替换R.id.fl_navgtion_bar_contianr的内容。
+     *
+     * @param fragment 要替换的内容
+     */
+    private void switchFragment(BaseFragment fragment) {
+        FragmentTransaction ftransaction = mFragmentManager.beginTransaction();
+        //替换之前的碎片。
+        ftransaction.replace(R.id.fl_home_content, fragment);
+        ftransaction.commit();
+    }
+}

+ 41 - 0
app/src/main/java/com/sunzee/ui/HomepageFragment.java

@@ -0,0 +1,41 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+
+/**
+ * 首页界面
+ */
+public class HomepageFragment extends MvpFragment<HomePagePresenter> implements HomePageView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_home, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected HomePagePresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 43 - 0
app/src/main/java/com/sunzee/ui/LanguageSetFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+import com.sunzee.mvp.languageset.LanguageSetPresenter;
+import com.sunzee.mvp.languageset.LanguageSetView;
+
+/**
+ * 语言设置界面
+ */
+public class LanguageSetFragment extends MvpFragment<LanguageSetPresenter> implements LanguageSetView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_language, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected LanguageSetPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 1 - 1
app/src/main/java/com/sunzee/ui/MainActivity.java

@@ -12,6 +12,7 @@ import com.sunzee.model.EmailResult;
 import com.sunzee.mvp.main.MainPresenter;
 import com.sunzee.mvp.main.MainView;
 import com.sunzee.retrofit.ApiCallback;
+import com.sunzee.retrofit.ApiStores;
 import com.sunzee.retrofit.RetrofitCallback;
 
 import java.util.HashMap;
@@ -23,7 +24,6 @@ import retrofit2.Call;
  * 由Activity/Fragment实现View里方法,包含一个Presenter的引用
  */
 public class MainActivity extends MvpActivity<MainPresenter> implements MainView {
-
     private TextView text;
 
     @Override

+ 43 - 0
app/src/main/java/com/sunzee/ui/OtherFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+import com.sunzee.mvp.other.OtherPresenter;
+import com.sunzee.mvp.other.OtherView;
+
+/**
+ * 其他页界面
+ */
+public class OtherFragment extends MvpFragment<OtherPresenter> implements OtherView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_other, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected OtherPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 43 - 0
app/src/main/java/com/sunzee/ui/PasswordResetFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+import com.sunzee.mvp.passwordreset.PasswordResetPresenter;
+import com.sunzee.mvp.passwordreset.PasswordResetView;
+
+/**
+ * 重置密码界面
+ */
+public class PasswordResetFragment extends MvpFragment<PasswordResetPresenter> implements PasswordResetView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_change_password, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected PasswordResetPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 43 - 0
app/src/main/java/com/sunzee/ui/ShowMaterialFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+import com.sunzee.mvp.showmaterial.ShowMaterialPresenter;
+import com.sunzee.mvp.showmaterial.ShowMaterialView;
+
+/**
+ * 其他页界面
+ */
+public class ShowMaterialFragment extends MvpFragment<ShowMaterialPresenter> implements ShowMaterialView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_show_material, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected ShowMaterialPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 43 - 0
app/src/main/java/com/sunzee/ui/StatisticsFragment.java

@@ -0,0 +1,43 @@
+package com.sunzee.ui;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sunzee.R;
+import com.sunzee.base.MvpFragment;
+import com.sunzee.mvp.homepage.HomePagePresenter;
+import com.sunzee.mvp.homepage.HomePageView;
+import com.sunzee.mvp.statistics.StatisticsPresenter;
+import com.sunzee.mvp.statistics.StatisticsView;
+
+/**
+ * 数据统计界面
+ */
+public class StatisticsFragment extends MvpFragment<StatisticsPresenter> implements StatisticsView {
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View inflate = inflater.inflate(R.layout.fragment_statistics, container, false);
+        return inflate;
+    }
+
+    @Override
+    protected StatisticsPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+}

+ 63 - 0
app/src/main/java/com/sunzee/utils/HomePagerSimpleFactory.java

@@ -0,0 +1,63 @@
+package com.sunzee.utils;
+
+import android.widget.Toast;
+
+import com.sunzee.R;
+import com.sunzee.base.BaseFragment;
+import com.sunzee.ui.AdvanceParameterFragment;
+import com.sunzee.ui.AlarmRecordFragment;
+import com.sunzee.ui.DebugFragment;
+import com.sunzee.ui.GeneralParameterFragment;
+import com.sunzee.ui.HomeActivity;
+import com.sunzee.ui.HomepageFragment;
+import com.sunzee.ui.LanguageSetFragment;
+import com.sunzee.ui.MainActivity;
+import com.sunzee.ui.OtherFragment;
+import com.sunzee.ui.PasswordResetFragment;
+import com.sunzee.ui.ShowMaterialFragment;
+import com.sunzee.ui.StatisticsFragment;
+
+import java.util.Locale;
+
+/**
+ * 主界面的page增加,使用簡單工廠模式,只需要生產方提供數據,使用者無需修改代碼。
+ */
+public class HomePagerSimpleFactory {
+    //組合依賴
+    private static HomepageFragment sHomepageFragment = new HomepageFragment();
+    private static StatisticsFragment sStatisticsFragment = new StatisticsFragment();
+    private static DebugFragment sDebugFragment = new DebugFragment();
+    private static GeneralParameterFragment sGeneralParameterFragment = new GeneralParameterFragment();
+    private static AdvanceParameterFragment sAdvanceParameterFragment = new AdvanceParameterFragment();
+    private static AlarmRecordFragment sAlarmRecordFragment = new AlarmRecordFragment();
+    private static LanguageSetFragment sLanguageSetFragment = new LanguageSetFragment();
+    private static PasswordResetFragment sPasswordResetFragment = new PasswordResetFragment();
+    private static OtherFragment sOtherFragment = new OtherFragment();
+    private static ShowMaterialFragment sShowMaterialFragment = new ShowMaterialFragment();
+
+    public static BaseFragment getFragment(int id) {
+        switch (id) {
+            case R.id.home:
+                return sHomepageFragment;
+            case R.id.data:
+                return sStatisticsFragment;
+            case R.id.debug:
+                return sDebugFragment;
+            case R.id.parameter1:
+                return sGeneralParameterFragment;
+            case R.id.parameter2:
+                return sAdvanceParameterFragment;
+            case R.id.warring:
+                return sAlarmRecordFragment;
+            case R.id.language:
+                return sLanguageSetFragment;
+            case R.id.password:
+                return sPasswordResetFragment;
+            case R.id.other:
+                return sOtherFragment;
+            case R.id.material:
+                return sShowMaterialFragment;
+        }
+        return null;
+    }
+}

+ 14 - 0
app/src/main/res/layout/fragment_advance_parameter.xml

@@ -0,0 +1,14 @@
+<?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="@color/shallowblue"
+    android:padding="@dimen/dp_5">
+
+    <TextView
+        android:gravity="center"
+        android:text="进阶参数"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+
+</LinearLayout>

+ 14 - 0
app/src/main/res/layout/fragment_alarm_record.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/shallowblue"
+    android:padding="@dimen/dp_5">
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:gravity="center"
+        android:text="报警记录" />
+
+</android.support.constraint.ConstraintLayout>

+ 12 - 0
app/src/main/res/layout/fragment_debug.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:padding="@dimen/dp_5"
+    android:background="@color/shallowblue">
+    <TextView
+        android:gravity="center"
+        android:text="调试页"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+</android.support.constraint.ConstraintLayout>

+ 14 - 0
app/src/main/res/layout/fragment_general_parameter.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:padding="@dimen/dp_5"
+    android:background="@color/shallowblue">
+
+    <TextView
+        android:gravity="center"
+        android:text="通用参数"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+
+</android.support.constraint.ConstraintLayout>

+ 13 - 0
app/src/main/res/layout/fragment_show_material.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:padding="@dimen/dp_5"
+    android:background="@color/shallowblue">
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:gravity="center"
+        android:text="查看物料" />
+</android.support.constraint.ConstraintLayout>

+ 236 - 0
app/src/main/res/layout/fragment_statistics.xml

@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout 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"
+    android:background="@color/shallowblue"
+    android:orientation="vertical"
+    android:padding="@dimen/dp_5">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/dp_20"
+        android:layout_marginTop="@dimen/dp_10"
+        android:layout_marginRight="@dimen/dp_20"
+        android:layout_marginBottom="@dimen/dp_15"
+        android:orientation="horizontal">
+
+<!--        <com.jaredrummler.materialspinner.MaterialSpinner-->
+<!--            android:id="@+id/btn_view_mode"-->
+<!--            android:layout_width="0dp"-->
+<!--            android:layout_height="@dimen/dp_22"-->
+<!--            android:layout_marginLeft="@dimen/dp_6"-->
+<!--            android:layout_weight="2"-->
+<!--            android:textColor="@color/colorBg"-->
+<!--            android:textSize="@dimen/sp_6"-->
+<!--            app:ms_arrow_tint="@color/colorBg"-->
+<!--            app:ms_background_selector="@drawable/shape_btn_back"-->
+<!--            app:ms_hint_color="@color/colorBg"-->
+<!--            app:ms_text_color="@color/colorBg" />-->
+
+
+        <Button
+            android:id="@+id/btn_time_start"
+            android:layout_width="0dp"
+            android:layout_height="@dimen/dp_22"
+            android:layout_marginLeft="@dimen/dp_6"
+            android:layout_weight="2"
+            android:background="@drawable/shape_btn_back"
+            android:paddingLeft="@dimen/dp_7"
+            android:text="开始时间"
+            android:textColor="@color/logo_blue"
+            android:textSize="@dimen/sp_8" />
+
+        <Button
+            android:id="@+id/btn_time_end"
+            android:layout_width="0dp"
+            android:layout_height="@dimen/dp_22"
+            android:layout_marginLeft="@dimen/dp_6"
+            android:layout_weight="2"
+            android:background="@drawable/shape_btn_back"
+            android:paddingLeft="@dimen/dp_7"
+            android:text="结束时间"
+            android:textColor="@color/logo_blue"
+            android:textSize="@dimen/sp_8" />
+        <!--        <RadioGroup-->
+        <!--            android:id="@+id/rg_fancy"-->
+        <!--            android:layout_width="@dimen/dp_92"-->
+        <!--            android:layout_height="@dimen/dp_22"-->
+        <!--            android:layout_marginStart="@dimen/dp_6"-->
+        <!--            android:background="@drawable/shape_btn_back"-->
+        <!--            android:orientation="horizontal"-->
+        <!--            tools:showIn="@layout/layout_maintain"-->
+        <!--            android:layout_marginLeft="@dimen/dp_6">-->
+
+        <!--            <RadioButton-->
+        <!--                android:id="@+id/rb_hour"-->
+        <!--                android:layout_width="wrap_content"-->
+        <!--                android:layout_height="wrap_content"-->
+        <!--                android:layout_gravity="center"-->
+        <!--                android:layout_marginStart="@dimen/dp_2"-->
+        <!--                android:button="@null"-->
+        <!--                android:checked="true"-->
+        <!--                android:drawableStart="@drawable/selector_rb_bg"-->
+        <!--                android:drawablePadding="@dimen/dp_2"-->
+        <!--                android:text="@string/hour"-->
+        <!--                android:textColor="@drawable/selector_net_tv_color"-->
+        <!--                android:textSize="@dimen/sp_8" />-->
+
+        <!--            <RadioButton-->
+        <!--                android:id="@+id/rb_day"-->
+        <!--                android:layout_width="wrap_content"-->
+        <!--                android:layout_height="wrap_content"-->
+        <!--                android:layout_gravity="center"-->
+        <!--                android:button="@null"-->
+        <!--                android:drawableStart="@drawable/selector_rb_bg"-->
+        <!--                android:drawablePadding="@dimen/dp_2"-->
+        <!--                android:text="@string/day"-->
+        <!--                android:textColor="@drawable/selector_net_tv_color"-->
+        <!--                android:textSize="@dimen/sp_10" />-->
+
+        <!--            <RadioButton-->
+
+        <!--                android:id="@+id/rb_month"-->
+        <!--                android:layout_width="wrap_content"-->
+        <!--                android:layout_height="wrap_content"-->
+        <!--                android:layout_gravity="center"-->
+        <!--                android:button="@null"-->
+        <!--                android:drawableStart="@drawable/selector_rb_bg"-->
+        <!--                android:drawablePadding="@dimen/dp_2"-->
+        <!--                android:text="@string/month"-->
+        <!--                android:textColor="@drawable/selector_net_tv_color"-->
+        <!--                android:textSize="@dimen/sp_10" />-->
+
+        <!--            <RadioButton-->
+
+        <!--                android:id="@+id/rb_year"-->
+        <!--                android:layout_width="wrap_content"-->
+        <!--                android:layout_height="wrap_content"-->
+        <!--                android:layout_gravity="center"-->
+        <!--                android:button="@null"-->
+        <!--                android:drawableStart="@drawable/selector_rb_bg"-->
+        <!--                android:drawablePadding="@dimen/dp_2"-->
+        <!--                android:text="@string/year"-->
+        <!--                android:textColor="@drawable/selector_net_tv_color"-->
+        <!--                android:textSize="@dimen/sp_10" />-->
+        <!--        </RadioGroup>-->
+        <RadioGroup
+            android:id="@+id/rg_fancy"
+            android:layout_width="0dp"
+            android:layout_height="@dimen/dp_22"
+            android:layout_marginStart="@dimen/dp_6"
+            android:layout_marginLeft="@dimen/dp_6"
+            android:layout_weight="2"
+            android:background="@drawable/shape_btn_back"
+            android:orientation="horizontal">
+
+            <RadioButton
+                android:id="@+id/rb_hour"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginStart="@dimen/dp_2"
+                android:layout_marginLeft="@dimen/dp_2"
+                android:layout_weight="1"
+                android:button="@null"
+                android:checked="true"
+                android:drawablePadding="@dimen/dp_2"
+                android:text="小时"
+                android:textColor="@color/logo_blue"
+                android:textSize="@dimen/sp_8" />
+
+            <RadioButton
+                android:id="@+id/rb_day"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_weight="1"
+                android:button="@null"
+                android:drawablePadding="@dimen/dp_2"
+                android:text="日"
+                android:textColor="@color/logo_blue"
+                android:textSize="@dimen/sp_10" />
+
+            <RadioButton
+
+                android:id="@+id/rb_month"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_weight="1"
+                android:button="@null"
+                android:drawablePadding="@dimen/dp_2"
+                android:text="月"
+                android:textColor="@color/logo_blue"
+                android:textSize="@dimen/sp_10" />
+
+            <RadioButton
+
+                android:id="@+id/rb_year"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_weight="1"
+                android:button="@null"
+                android:drawablePadding="@dimen/dp_2"
+                android:text="年"
+                android:textColor="@color/logo_blue"
+                android:textSize="@dimen/sp_10" />
+        </RadioGroup>
+
+<!--        <com.jaredrummler.materialspinner.MaterialSpinner-->
+<!--            android:id="@+id/spinner"-->
+<!--            android:layout_width="0dp"-->
+<!--            android:layout_height="@dimen/dp_22"-->
+<!--            android:layout_marginLeft="@dimen/dp_6"-->
+<!--            android:layout_weight="2"-->
+<!--            android:textColor="@color/colorBg"-->
+<!--            android:textSize="@dimen/sp_6"-->
+<!--            app:ms_arrow_tint="@color/colorBg"-->
+<!--            app:ms_background_selector="@drawable/shape_btn_back"-->
+<!--            app:ms_hint_color="@color/colorBg"-->
+<!--            app:ms_text_color="@color/colorBg" />-->
+
+        <Button
+            android:id="@+id/btn_contrast"
+            android:layout_width="0dp"
+            android:layout_height="@dimen/dp_22"
+            android:layout_marginStart="@dimen/dp_14"
+            android:layout_marginLeft="@dimen/dp_14"
+            android:layout_marginRight="@dimen/dp_20"
+            android:layout_weight="1"
+            android:background="@drawable/shape_home_bottom1_rectangle"
+            android:text="筛选"
+            android:textColor="@color/white"
+            android:textSize="@dimen/sp_9" />
+
+    </LinearLayout>
+
+    <RelativeLayout
+        android:layout_width="@dimen/dp_600"
+        android:layout_height="0dp"
+        android:layout_gravity="center"
+        android:layout_marginBottom="@dimen/dp_20"
+        android:layout_weight="1"
+        android:background="@color/white">
+
+<!--        <com.github.mikephil.charting.charts.BarChart-->
+<!--            android:id="@+id/bar_char1"-->
+<!--            android:layout_width="match_parent"-->
+<!--            android:layout_height="match_parent"-->
+<!--            android:visibility="invisible" />-->
+
+        <TextView
+            android:id="@+id/tv_placeholder"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerInParent="true"
+            android:text="请输入时间和日期"
+            android:textColor="@color/gray"
+            android:textSize="@dimen/sp_16" />
+    </RelativeLayout>
+
+
+</LinearLayout>

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

@@ -1,6 +0,0 @@
-<resources>
-    <!-- Example customization of dimensions originally defined in res/values/dimens.xml
-         (such as screen margins) for screens with more than 820dp of available width. This
-         would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
-    <dimen name="activity_horizontal_margin">64dp</dimen>
-</resources>

+ 3 - 1
app/src/main/res/values/dimens.xml

@@ -1,5 +1,7 @@
-<resources>
+<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_vertical_margin">16dp</dimen>
+    <dimen name="design_navigation_icon_padding" tools:override="true">@dimen/dp_8</dimen>
+    <dimen name="design_navigation_icon_size" tools:override="true">@dimen/dp_6</dimen>
 </resources>

+ 10 - 3
app/src/main/res/values/styles.xml

@@ -3,10 +3,17 @@
     <!-- Base application theme. -->
     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
         <!-- Customize your theme here. -->
-        <item name="colorPrimary">@android:color/holo_blue_light</item>
-        <item name="colorPrimaryDark">@android:color/holo_blue_light</item>
-        <item name="colorAccent">@android:color/holo_blue_light</item>
+        <item name="colorPrimary">@color/colorPrimary</item>
+        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+        <item name="colorAccent">@color/colorAccent</item>
         <item name="colorControlNormal">@android:color/white</item>
     </style>
+    <style name="Menu" parent="TextAppearance.Compat.Notification.Title">
+        <item name="android:textSize">@dimen/sp_6</item>
+        <item name="android:textColor">@color/gray</item>
+    </style>
+    <style name="ItemHeight">
+        <item name="listPreferredItemHeightSmall">@dimen/dp_20</item>
+    </style>
 
 </resources>

+ 1 - 1
gradle.properties

@@ -15,4 +15,4 @@
 # When configured, Gradle will run in incubating parallel mode.
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
+# org.gradle.parallel=true