Ver Fonte

活动页

xiongzhu há 7 anos atrás
pai
commit
361e5e902c
89 ficheiros alterados com 1489 adições e 296 exclusões
  1. 3 1
      app/build.gradle
  2. 3 3
      app/src/main/AndroidManifest.xml
  3. 8 5
      app/src/main/java/com/android/chmo/http/response/ModelDetailRes.java
  4. 9 0
      app/src/main/java/com/android/chmo/http/response/ModelFansRes.java
  5. 9 0
      app/src/main/java/com/android/chmo/http/service/ActivitiesService.java
  6. 9 3
      app/src/main/java/com/android/chmo/http/service/ModelService.java
  7. 17 0
      app/src/main/java/com/android/chmo/model/ActivityInfo.java
  8. 8 0
      app/src/main/java/com/android/chmo/model/MemberInfo.java
  9. 1 2
      app/src/main/java/com/android/chmo/ui/activity/WebViewActivity.java
  10. 70 20
      app/src/main/java/com/android/chmo/ui/activity/activities/ActivitiesDetailActivity.java
  11. 102 0
      app/src/main/java/com/android/chmo/ui/activity/activities/SignListActivity.java
  12. 24 0
      app/src/main/java/com/android/chmo/ui/activity/me/SettingsActivity.java
  13. 104 0
      app/src/main/java/com/android/chmo/ui/activity/model/FansActivity.java
  14. 150 28
      app/src/main/java/com/android/chmo/ui/activity/model/ModelDetailActivity.java
  15. 1 2
      app/src/main/java/com/android/chmo/ui/activity/promote/ShareActivity.java
  16. 95 0
      app/src/main/java/com/android/chmo/ui/adpater/FansAdapter.java
  17. 122 0
      app/src/main/java/com/android/chmo/ui/dialog/ActionSheet.java
  18. 4 7
      app/src/main/java/com/android/chmo/ui/fragment/home/ActivitiesFragment.java
  19. 19 1
      app/src/main/java/com/android/chmo/ui/view/RoundImageView.java
  20. 5 0
      app/src/main/res/drawable/bg_action_sheet.xml
  21. 7 0
      app/src/main/res/drawable/bg_activity_detail.xml
  22. 5 0
      app/src/main/res/drawable/bg_list_model.xml
  23. 5 0
      app/src/main/res/drawable/bg_model_detail_chat.xml
  24. 5 0
      app/src/main/res/drawable/bg_model_detail_gift.xml
  25. 14 0
      app/src/main/res/drawable/bg_model_detail_promote.xml
  26. 1 1
      app/src/main/res/drawable/btn_press.xml
  27. 302 84
      app/src/main/res/layout/activity_activities_detail.xml
  28. 28 0
      app/src/main/res/layout/activity_fans.xml
  29. 45 48
      app/src/main/res/layout/activity_model_detail.xml
  30. 4 8
      app/src/main/res/layout/activity_settings.xml
  31. 28 0
      app/src/main/res/layout/activity_sign_list.xml
  32. 31 0
      app/src/main/res/layout/dialog_action_sheet.xml
  33. 50 0
      app/src/main/res/layout/list_fans.xml
  34. 197 81
      app/src/main/res/layout/model_info_header.xml
  35. BIN
      app/src/main/res/mipmap-hdpi/icon_diandian.png
  36. BIN
      app/src/main/res/mipmap-hdpi/icon_didian.png
  37. BIN
      app/src/main/res/mipmap-hdpi/icon_dingwei.png
  38. BIN
      app/src/main/res/mipmap-hdpi/icon_fenxiang_baise.png
  39. BIN
      app/src/main/res/mipmap-hdpi/icon_inter.png
  40. BIN
      app/src/main/res/mipmap-hdpi/icon_jubao_02.png
  41. BIN
      app/src/main/res/mipmap-hdpi/icon_liaotian.png
  42. BIN
      app/src/main/res/mipmap-hdpi/icon_liwu.png
  43. BIN
      app/src/main/res/mipmap-hdpi/icon_pingbi.png
  44. BIN
      app/src/main/res/mipmap-hdpi/icon_renshu.png
  45. BIN
      app/src/main/res/mipmap-hdpi/icon_shijian.png
  46. BIN
      app/src/main/res/mipmap-hdpi/icon_zhankai_hongse.png
  47. BIN
      app/src/main/res/mipmap-hdpi/nav_return_baise.png
  48. BIN
      app/src/main/res/mipmap-hdpi/nav_return_heise.png
  49. BIN
      app/src/main/res/mipmap-xhdpi/icon_diandian.png
  50. BIN
      app/src/main/res/mipmap-xhdpi/icon_didian.png
  51. BIN
      app/src/main/res/mipmap-xhdpi/icon_dingwei.png
  52. BIN
      app/src/main/res/mipmap-xhdpi/icon_fenxiang_baise.png
  53. BIN
      app/src/main/res/mipmap-xhdpi/icon_jubao_02.png
  54. BIN
      app/src/main/res/mipmap-xhdpi/icon_liaotian.png
  55. BIN
      app/src/main/res/mipmap-xhdpi/icon_liwu.png
  56. BIN
      app/src/main/res/mipmap-xhdpi/icon_pingbi.png
  57. BIN
      app/src/main/res/mipmap-xhdpi/icon_renshu.png
  58. BIN
      app/src/main/res/mipmap-xhdpi/icon_shijian.png
  59. BIN
      app/src/main/res/mipmap-xhdpi/icon_zhankai_hongse.png
  60. BIN
      app/src/main/res/mipmap-xhdpi/nav_return_baise.png
  61. BIN
      app/src/main/res/mipmap-xhdpi/nav_return_heise.png
  62. BIN
      app/src/main/res/mipmap-xxhdpi/icon_diandian.png
  63. BIN
      app/src/main/res/mipmap-xxhdpi/icon_didian.png
  64. BIN
      app/src/main/res/mipmap-xxhdpi/icon_dingwei.png
  65. BIN
      app/src/main/res/mipmap-xxhdpi/icon_fenxiang_baise.png
  66. BIN
      app/src/main/res/mipmap-xxhdpi/icon_jubao_02.png
  67. BIN
      app/src/main/res/mipmap-xxhdpi/icon_liaotian.png
  68. BIN
      app/src/main/res/mipmap-xxhdpi/icon_liwu.png
  69. BIN
      app/src/main/res/mipmap-xxhdpi/icon_pingbi.png
  70. BIN
      app/src/main/res/mipmap-xxhdpi/icon_renshu.png
  71. BIN
      app/src/main/res/mipmap-xxhdpi/icon_shijian.png
  72. BIN
      app/src/main/res/mipmap-xxhdpi/icon_zhankai_hongse.png
  73. BIN
      app/src/main/res/mipmap-xxhdpi/nav_return_baise.png
  74. BIN
      app/src/main/res/mipmap-xxhdpi/nav_return_heise.png
  75. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_diandian.png
  76. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_didian.png
  77. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_dingwei.png
  78. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_fenxiang_baise.png
  79. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_jubao_02.png
  80. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_liaotian.png
  81. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_liwu.png
  82. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_pingbi.png
  83. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_renshu.png
  84. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_shijian.png
  85. BIN
      app/src/main/res/mipmap-xxxhdpi/icon_zhankai_hongse.png
  86. BIN
      app/src/main/res/mipmap-xxxhdpi/nav_return_baise.png
  87. BIN
      app/src/main/res/mipmap-xxxhdpi/nav_return_heise.png
  88. 2 0
      app/src/main/res/values/attrs.xml
  89. 2 2
      app/src/main/res/values/styles.xml

+ 3 - 1
app/build.gradle

@@ -5,7 +5,7 @@ android {
     buildToolsVersion '28.0.3'
     defaultConfig {
         applicationId "com.android.chmo"
-        minSdkVersion 14
+        minSdkVersion 15
         targetSdkVersion 28
         versionCode 106
         versionName "1.0.6"
@@ -113,4 +113,6 @@ dependencies {
     implementation 'com.liulishuo.filedownloader:library:1.7.5'
     implementation 'com.blankj:utilcode:1.10.0'
     implementation 'com.youth.banner:banner:1.4.10'
+    implementation 'com.zzhoujay.richtext:richtext:3.0.7'
+    implementation 'com.zzhoujay:html:1.0.2'
 }

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

@@ -8,11 +8,9 @@
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
-    <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
@@ -465,7 +463,9 @@
         <activity android:name=".ui.activity.MyWalletActivity" />
         <activity android:name=".ui.activity.WithdrawActivity" />
         <activity android:name=".ui.activity.WithdrawSuccessActivity" />
-        <activity android:name=".ui.activity.WebViewActivity"></activity>
+        <activity android:name=".ui.activity.WebViewActivity" />
+        <activity android:name=".ui.activity.model.FansActivity" />
+        <activity android:name=".ui.activity.activities.SignListActivity"></activity>
     </application>
 
 </manifest>

+ 8 - 5
app/src/main/java/com/android/chmo/http/response/ModelDetailRes.java

@@ -1,6 +1,8 @@
 package com.android.chmo.http.response;
 
 
+import com.android.chmo.model.ActivityInfo;
+import com.android.chmo.model.MemberInfo;
 import com.android.chmo.model.ModelLabel;
 import com.android.chmo.model.ModelSkill;
 
@@ -8,15 +10,16 @@ import java.io.Serializable;
 import java.util.List;
 
 public class ModelDetailRes extends Res {
-    public List<ModelSkill> dogetprice;
-
-    public List<String> dogethonorname;
-
-    public Modelfigure dogetmodelfigure;
+    public List<ModelSkill>   dogetprice;
+    public List<String>       dogethonorname;
+    public Modelfigure        dogetmodelfigure;
+    public List<MemberInfo>   fans;
+    public List<ActivityInfo> topParty;
 
     public class Modelfigure implements Serializable {
         public List<ModelLabel> selffigure; // 自我评价
         public List<ModelLabel> customfigure;
         public List<ModelLabel> customimage;
     }
+
 }

+ 9 - 0
app/src/main/java/com/android/chmo/http/response/ModelFansRes.java

@@ -0,0 +1,9 @@
+package com.android.chmo.http.response;
+
+import com.android.chmo.model.MemberInfo;
+
+import java.util.List;
+
+public class ModelFansRes extends Res {
+    public List<MemberInfo> data;
+}

+ 9 - 0
app/src/main/java/com/android/chmo/http/service/ActivitiesService.java

@@ -77,4 +77,13 @@ public class ActivitiesService {
         params.addQueryStringParameter("action", "dogettoppartty");
         return HttpApi.GET(params, callback);
     }
+
+    public static Callback.Cancelable signList(String pk, int page, int size, RequestCallback callback) {
+        RequestParams params = getRequestParams();
+        params.addQueryStringParameter("action", "signlist");
+        params.addQueryStringParameter("pk", pk);
+        params.addQueryStringParameter("page", page + "");
+        params.addQueryStringParameter("size", size + "");
+        return HttpApi.GET(params, callback);
+    }
 }

+ 9 - 3
app/src/main/java/com/android/chmo/http/service/ModelService.java

@@ -183,7 +183,7 @@ public class ModelService {
 
 
     // 获取模特私密空间
-    public static Callback.Cancelable modelZone(String modelPk,int page, RequestCallback callback) {
+    public static Callback.Cancelable modelZone(String modelPk, int page, RequestCallback callback) {
         LoginUser user = ChmoApplication.getApp().getLoginUser();
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "doGetPrivate");
@@ -207,12 +207,18 @@ public class ModelService {
      * 获取模特视频单价
      */
     public static Callback.Cancelable getModelVideoPrice(String pk, RequestCallback callback) {
-        LoginUser user = ChmoApplication.getApp().getLoginUser();
         RequestParams params = getRequestParams();
         params.addQueryStringParameter("action", "doGetModelVPrice");
         params.addQueryStringParameter("memberpk", pk);
         return HttpApi.GET(params, callback);
     }
 
-
+    public static Callback.Cancelable modelFans(String modelpk, int page, RequestCallback callback) {
+        RequestParams params = getRequestParams();
+        params.addQueryStringParameter("action", "modelfans");
+        params.addQueryStringParameter("modelpk", modelpk);
+        params.addQueryStringParameter("page", page + "");
+        params.addQueryStringParameter("size", Constants.PAGE_SIZE + "");
+        return HttpApi.GET(params, callback);
+    }
 }

+ 17 - 0
app/src/main/java/com/android/chmo/model/ActivityInfo.java

@@ -0,0 +1,17 @@
+package com.android.chmo.model;
+
+public class ActivityInfo {
+    public String  PK;
+    public String  Pic;
+    public String  Caption;
+    public String  Intro;
+    public String  term;
+    public String  SBeg;
+    public String  Beg;
+    public String  SEnt;
+    public String  Ent;
+    public String  banner;
+    public String  url;
+    public boolean isTop;
+    public boolean IsBanner;
+}

+ 8 - 0
app/src/main/java/com/android/chmo/model/MemberInfo.java

@@ -0,0 +1,8 @@
+package com.android.chmo.model;
+
+public class MemberInfo {
+    public String PK;
+    public String hPhoto;
+    public String Pet;
+    public  String MembType;
+}

+ 1 - 2
app/src/main/java/com/android/chmo/ui/activity/WebViewActivity.java

@@ -220,8 +220,7 @@ public class WebViewActivity extends BaseActivity implements ShareDialog.OnShare
         SendMessageToWX.Req req = new SendMessageToWX.Req();
         req.scene = SendMessageToWX.Req.WXSceneSession;
         req.message = message;
-        boolean success = iwxapi.sendReq(req);
-        Log.d("success", success + "");
+        iwxapi.sendReq(req);
     }
 
     @Override

+ 70 - 20
app/src/main/java/com/android/chmo/ui/activity/activities/ActivitiesDetailActivity.java

@@ -1,6 +1,14 @@
 package com.android.chmo.ui.activity.activities;
 
 import android.content.Intent;
+import android.graphics.Canvas;
+import android.graphics.ColorFilter;
+import android.graphics.drawable.Drawable;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.text.Editable;
+import android.text.Html;
+import android.view.View;
 import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -8,10 +16,24 @@ import android.widget.TextView;
 
 import com.android.chmo.R;
 import com.android.chmo.base.BaseActivity;
+import com.android.chmo.constant.Constants;
 import com.android.chmo.http.HttpApi;
+import com.android.chmo.http.RequestCallback;
+import com.android.chmo.http.response.ModelFansRes;
+import com.android.chmo.http.service.ActivitiesService;
 import com.android.chmo.model.ActivitiesInfo;
+import com.android.chmo.model.MemberInfo;
+import com.android.chmo.ui.view.RoundImageView;
 import com.android.chmo.utils.PixelUtils;
 import com.android.chmo.utils.XUtilsImage;
+import com.google.gson.Gson;
+import com.zzhoujay.richtext.RichText;
+
+import org.xml.sax.XMLReader;
+import org.xutils.common.Callback;
+import org.xutils.http.RequestParams;
+import org.xutils.image.ImageOptions;
+import org.xutils.x;
 
 import butterknife.BindView;
 import butterknife.OnClick;
@@ -21,17 +43,19 @@ public class ActivitiesDetailActivity extends BaseActivity {
     @BindView(R.id.image)
     ImageView imageView;
     @BindView(R.id.atitle)
-    TextView titleView;
+    TextView  titleView;
     @BindView(R.id.startTime)
-    TextView startTimeView;
+    TextView  startTimeView;
     @BindView(R.id.endTime)
-    TextView endTimeView;
+    TextView  endTimeView;
     @BindView(R.id.desc)
-    TextView descView;
-
-
+    TextView  descView;
+    @BindView(R.id.tv_price)
+    TextView  tvPrice;
     @BindView(R.id.signBtn)
-    Button signBtn;
+    Button    signBtn;
+    @BindView(R.id.apply_num)
+    TextView  applyNum;
 
     private ActivitiesInfo info;
 
@@ -44,35 +68,61 @@ public class ActivitiesDetailActivity extends BaseActivity {
     public void initView() {
         info = (ActivitiesInfo) getIntent().getSerializableExtra("data");
 
-        int width = PixelUtils.getWindowWidth();
-        LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams)imageView.getLayoutParams();
-        lp.width = width;
-        lp.height = width;
-        imageView.setLayoutParams(lp);
         XUtilsImage.display(imageView, HttpApi.getImgUrl(info.pic), R.mipmap.def_img2);
 
         titleView.setText(info.caption);
         startTimeView.setText(info.beg);
         endTimeView.setText(info.sendt);
-        descView.setText(info.intro);
-
-        if(info.issigndate == 1) {
+        RichText.from(info.intro).into(descView);
+        tvPrice.setText("¥ " + info.meprice);
+        applyNum.setText(info.signcount + "");
+        if (info.issigndate == 1) {
             signBtn.setBackgroundResource(R.drawable.pink_btn);
             signBtn.setText("立即报名");
-        }else {
+        } else {
             signBtn.setBackgroundResource(R.drawable.gray_btn);
             signBtn.setText("已结束");
         }
+        ActivitiesService.signList(info.pk, 1, 5, new RequestCallback() {
+            @Override
+            public void onSuccess(String result) {
+                ModelFansRes response = new Gson().fromJson(result, ModelFansRes.class);
+                if ("success".equals(response.msg)) {
+                    if (response.data != null) {
+                        for (int i = 0; i < response.data.size(); i++) {
+                            MemberInfo memberInfo = response.data.get(i);
+                            RoundImageView icon = findViewById(getResources().getIdentifier("icon" + (i + 1), "id", getPackageName()));
+                            TextView name = findViewById(getResources().getIdentifier("name" + (i + 1), "id", getPackageName()));
+                            icon.setVisibility(View.VISIBLE);
+                            name.setVisibility(View.VISIBLE);
+                            XUtilsImage.display(icon, HttpApi.getImgUrl(memberInfo.hPhoto));
+                            name.setText(memberInfo.Pet);
+                        }
+                    }
+                }
+            }
+
+            @Override
+            public void onFailure(String error) {
+
+            }
+        });
     }
 
     @OnClick(R.id.signBtn)
-    public void sign(){
-        if(info.issigndate != 1) {
+    public void sign() {
+        if (info.issigndate != 1) {
             return;
         }
-
-        Intent intent = new Intent(this,SignInActivity.class);
+        Intent intent = new Intent(this, SignInActivity.class);
         intent.putExtra("data", info);
         openPage(intent);
     }
+
+    @OnClick(R.id.sign_list)
+    void onClickSignList() {
+        Intent intent = new Intent(this, SignListActivity.class);
+        intent.putExtra("pk", info.pk);
+        openPage(intent);
+    }
 }

+ 102 - 0
app/src/main/java/com/android/chmo/ui/activity/activities/SignListActivity.java

@@ -0,0 +1,102 @@
+package com.android.chmo.ui.activity.activities;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+
+import com.android.chmo.R;
+import com.android.chmo.base.BaseActivity;
+import com.android.chmo.constant.Constants;
+import com.android.chmo.http.RequestCallback;
+import com.android.chmo.http.response.ModelFansRes;
+import com.android.chmo.http.service.ActivitiesService;
+import com.android.chmo.http.service.ModelService;
+import com.android.chmo.model.MemberInfo;
+import com.android.chmo.ui.adpater.FansAdapter;
+import com.google.gson.Gson;
+import com.scwang.smartrefresh.header.WaterDropHeader;
+import com.scwang.smartrefresh.layout.SmartRefreshLayout;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+
+public class SignListActivity extends BaseActivity implements OnRefreshListener, OnLoadMoreListener {
+    @BindView(R.id.refresh_layout)
+    SmartRefreshLayout refreshLayout;
+    @BindView(R.id.recycler_view)
+    RecyclerView       recyclerView;
+
+    private String           pk;
+    private int              page = 1;
+    private List<MemberInfo> data;
+    private FansAdapter      adapter;
+
+    @Override
+    protected int getContentResId() {
+        return R.layout.activity_sign_list;
+    }
+
+    @Override
+    public void initView() {
+        pk = getIntent().getStringExtra("pk");
+
+        refreshLayout.setRefreshHeader(new WaterDropHeader(getContext()));
+        refreshLayout.setPrimaryColorsId(R.color.pink);
+        ClassicsFooter footer = new ClassicsFooter(getContext());
+        footer.setTextSizeTitle(12);
+        refreshLayout.setRefreshFooter(footer);
+        refreshLayout.setNoMoreData(true);
+        refreshLayout.setOnRefreshListener(this);
+        refreshLayout.setOnLoadMoreListener(this);
+        data = new ArrayList<>();
+        adapter = new FansAdapter(this, data);
+        recyclerView.setLayoutManager(new LinearLayoutManager(this));
+        recyclerView.setAdapter(adapter);
+        getData();
+    }
+
+    void getData() {
+        ActivitiesService.signList(pk, page, Constants.PAGE_SIZE, new RequestCallback() {
+            @Override
+            public void onSuccess(String result) {
+                refreshLayout.finishRefresh();
+                refreshLayout.finishLoadMore();
+                ModelFansRes response = new Gson().fromJson(result, ModelFansRes.class);
+                if ("success".equals(response.msg)) {
+                    if (page == 1) {
+                        data.clear();
+                    }
+                    data.addAll(response.data);
+                    adapter.notifyDataSetChanged();
+                    if (response.data.size() < Constants.PAGE_SIZE) {
+                        refreshLayout.setNoMoreData(true);
+                    }
+                }
+            }
+
+            @Override
+            public void onFailure(String error) {
+
+            }
+        });
+    }
+
+    @Override
+    public void onRefresh(RefreshLayout refreshLayout) {
+        page = 1;
+        getData();
+    }
+
+    @Override
+    public void onLoadMore(RefreshLayout refreshLayout) {
+        page++;
+        getData();
+    }
+}

+ 24 - 0
app/src/main/java/com/android/chmo/ui/activity/me/SettingsActivity.java

@@ -7,7 +7,9 @@ import android.content.Intent;
 import android.net.Uri;
 import android.support.annotation.NonNull;
 import android.view.View;
+import android.widget.CompoundButton;
 import android.widget.ImageView;
+import android.widget.Switch;
 import android.widget.TextView;
 import android.widget.Toast;
 
@@ -28,13 +30,17 @@ import com.android.chmo.utils.CommonUtils;
 import com.android.chmo.utils.FileInfoUtils;
 import com.android.chmo.utils.LoginUtils;
 import com.android.chmo.utils.XUtilsImage;
+import com.blankj.utilcode.util.SPUtils;
 import com.google.gson.Gson;
 import com.netease.nim.uikit.common.media.picker.activity.PickImageActivity;
 import com.netease.nim.uikit.support.permission.MPermission;
 import com.netease.nim.uikit.support.permission.annotation.OnMPermissionDenied;
 import com.netease.nim.uikit.support.permission.annotation.OnMPermissionGranted;
+import com.netease.nimlib.sdk.NIMClient;
+import com.netease.nimlib.sdk.StatusBarNotificationConfig;
 
 import butterknife.BindView;
+import butterknife.OnCheckedChanged;
 import butterknife.OnClick;
 
 /**
@@ -52,6 +58,8 @@ public class SettingsActivity extends BaseActivity {
     TextView  tvName;
     @BindView(R.id.tv_phone)
     TextView  tvPhone;
+    @BindView(R.id.msg_switch)
+    Switch    msgSwitch;
 
     @Override
     protected int getContentResId() {
@@ -68,6 +76,7 @@ public class SettingsActivity extends BaseActivity {
         tvName.setText(user.getPet());
         tvPhone.setText(user.getPhone());
         XUtilsImage.displayCircluar(ivAvatar, HttpApi.getImgUrl(user.getHphoto()), R.mipmap.def_head);
+        msgSwitch.setChecked(!SPUtils.getInstance().getBoolean("noDisturb", false));
     }
 
     @Override
@@ -144,6 +153,21 @@ public class SettingsActivity extends BaseActivity {
         }
     }
 
+    @OnCheckedChanged(R.id.msg_switch)
+    void onCheckedChanged(CompoundButton button, boolean checked) {
+        StatusBarNotificationConfig config = new StatusBarNotificationConfig();
+        if (checked) {
+            config.downTimeToggle = false;
+        } else {
+            config.downTimeToggle = true;
+            config.downTimeBegin = "00:00";
+            config.downTimeEnd = "23:59";
+        }
+        NIMClient.updateStatusBarNotificationConfig(config);
+        SPUtils.getInstance().put("noDisturb", !checked);
+    }
+
+
     private void pickFromCamera() {
         startActivityForResult(PickImageActivity.getStartIntent(this, PickImageActivity.FROM_CAMERA, getOutputPath(), false, 1,
                 false, true, 150, 150), RESULT_CAMERA);

+ 104 - 0
app/src/main/java/com/android/chmo/ui/activity/model/FansActivity.java

@@ -0,0 +1,104 @@
+package com.android.chmo.ui.activity.model;
+
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+
+import com.android.chmo.R;
+import com.android.chmo.base.BaseActivity;
+import com.android.chmo.constant.Constants;
+import com.android.chmo.http.RequestCallback;
+import com.android.chmo.http.response.ModelFansRes;
+import com.android.chmo.http.response.MyWalletResponse;
+import com.android.chmo.http.service.ModelService;
+import com.android.chmo.http.service.UserService;
+import com.android.chmo.model.MemberInfo;
+import com.android.chmo.ui.adpater.FansAdapter;
+import com.android.chmo.ui.adpater.MyWalletAdapter;
+import com.google.gson.Gson;
+import com.scwang.smartrefresh.header.WaterDropHeader;
+import com.scwang.smartrefresh.layout.SmartRefreshLayout;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+
+import butterknife.BindView;
+
+public class FansActivity extends BaseActivity implements OnRefreshListener, OnLoadMoreListener {
+    @BindView(R.id.refresh_layout)
+    SmartRefreshLayout refreshLayout;
+    @BindView(R.id.recycler_view)
+    RecyclerView       recyclerView;
+
+    private String           modelPK;
+    private int              page = 1;
+    private List<MemberInfo> data;
+    private FansAdapter      adapter;
+
+
+    @Override
+    protected int getContentResId() {
+        return R.layout.activity_fans;
+    }
+
+    @Override
+    public void initView() {
+        modelPK = getIntent().getStringExtra("modelPK");
+
+        refreshLayout.setRefreshHeader(new WaterDropHeader(getContext()));
+        refreshLayout.setPrimaryColorsId(R.color.pink);
+        ClassicsFooter footer = new ClassicsFooter(getContext());
+        footer.setTextSizeTitle(12);
+        refreshLayout.setRefreshFooter(footer);
+        refreshLayout.setNoMoreData(true);
+        refreshLayout.setOnRefreshListener(this);
+        refreshLayout.setOnLoadMoreListener(this);
+        data = new ArrayList<>();
+        adapter = new FansAdapter(this, data);
+        recyclerView.setLayoutManager(new LinearLayoutManager(this));
+        recyclerView.setAdapter(adapter);
+        getData();
+    }
+
+    void getData() {
+        ModelService.modelFans(modelPK, page, new RequestCallback() {
+            @Override
+            public void onSuccess(String result) {
+                refreshLayout.finishRefresh();
+                refreshLayout.finishLoadMore();
+                ModelFansRes response = new Gson().fromJson(result, ModelFansRes.class);
+                if ("success".equals(response.msg)) {
+                    if (page == 1) {
+                        data.clear();
+                    }
+                    data.addAll(response.data);
+                    adapter.notifyDataSetChanged();
+                    if (response.data.size() < Constants.PAGE_SIZE) {
+                        refreshLayout.setNoMoreData(true);
+                    }
+                }
+            }
+
+            @Override
+            public void onFailure(String error) {
+
+            }
+        });
+    }
+
+    @Override
+    public void onRefresh(RefreshLayout refreshLayout) {
+        page = 1;
+        getData();
+    }
+
+    @Override
+    public void onLoadMore(RefreshLayout refreshLayout) {
+        page++;
+        getData();
+    }
+}

+ 150 - 28
app/src/main/java/com/android/chmo/ui/activity/model/ModelDetailActivity.java

@@ -2,7 +2,10 @@ package com.android.chmo.ui.activity.model;
 
 import android.app.Dialog;
 import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 import android.support.v4.view.ViewPager;
+import android.util.Log;
 import android.util.TypedValue;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -17,6 +20,7 @@ import com.android.chmo.R;
 import com.android.chmo.app.ChmoApplication;
 import com.android.chmo.app.VChatManager;
 import com.android.chmo.base.BaseActivity;
+import com.android.chmo.http.HttpApi;
 import com.android.chmo.http.RequestCallback;
 import com.android.chmo.http.response.CanChatResponse;
 import com.android.chmo.http.response.ModelDetailRes;
@@ -26,21 +30,33 @@ import com.android.chmo.http.response.VideoPriceRes;
 import com.android.chmo.http.service.ModelService;
 import com.android.chmo.http.service.PayService;
 import com.android.chmo.http.service.UserService;
+import com.android.chmo.model.ActivityInfo;
 import com.android.chmo.model.LoginUser;
+import com.android.chmo.model.MemberInfo;
 import com.android.chmo.model.ModelInfo;
 import com.android.chmo.model.ModelLabel;
 import com.android.chmo.model.ModelPhoto;
 import com.android.chmo.model.ModelSkill;
+import com.android.chmo.ui.activity.WebViewActivity;
 import com.android.chmo.ui.activity.me.RechargeActivity;
 import com.android.chmo.ui.adpater.ImagePagerAdapter;
+import com.android.chmo.ui.dialog.ActionSheet;
 import com.android.chmo.ui.dialog.CallRewardDialog;
 import com.android.chmo.ui.dialog.ConfirmDialog;
+import com.android.chmo.ui.dialog.ShareDialog;
 import com.android.chmo.ui.view.PageIndexView;
+import com.android.chmo.ui.view.RoundImageView;
 import com.android.chmo.ui.view.StarView;
 import com.android.chmo.utils.LoginUtils;
 import com.android.chmo.utils.PixelUtils;
+import com.android.chmo.utils.XUtilsImage;
+import com.android.chmo.wxapi.WeChatManager;
 import com.google.gson.Gson;
 import com.netease.nim.uikit.api.NimUIKit;
+import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
+import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
+import com.tencent.mm.opensdk.modelmsg.WXWebpageObject;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
 
 import org.greenrobot.eventbus.EventBus;
 
@@ -51,52 +67,63 @@ import butterknife.BindView;
 import butterknife.OnClick;
 
 
-public class ModelDetailActivity extends BaseActivity {
+public class ModelDetailActivity extends BaseActivity implements ShareDialog.OnShareListener {
     private ModelInfo model;
     private String    modelPk;
 
     private List<ModelSkill> skillList = new ArrayList<>();
     private List<String>     honorList = new ArrayList<>();
     public  List<ModelLabel> labelList = new ArrayList<>();
+    private ActivityInfo     topParty;
+    private ShareDialog      shareDialog;
+    private IWXAPI           iwxapi;
 
     @BindView(R.id.images)
-    ViewPager     imagePager;
+    ViewPager      imagePager;
     @BindView(R.id.imgIndex)
-    PageIndexView imgIndexView;
+    PageIndexView  imgIndexView;
     @BindView(R.id.status)
-    ImageView     statusView;
+    ImageView      statusView;
     @BindView(R.id.name)
-    TextView      nameView;
+    TextView       nameView;
     @BindView(R.id.star)
-    StarView      starView;
+    StarView       starView;
     @BindView(R.id.tv_skills)
-    TextView      tvSkills;
+    TextView       tvSkills;
     @BindView(R.id.fansCount)
-    TextView      fansCountView;
+    TextView       fansCountView;
     @BindView(R.id.follow_btn)
-    LinearLayout  followBtn;
+    LinearLayout   followBtn;
     @BindView(R.id.tv_follow)
-    TextView      tvFollow;
+    TextView       tvFollow;
     @BindView(R.id.works)
-    TextView      worksView;
+    TextView       worksView;
     @BindView(R.id.video_price)
-    TextView      videoPice;
+    TextView       videoPice;
     @BindView(R.id.sign)
-    TextView      signView;
+    TextView       signView;
     @BindView(R.id.height)
-    TextView      heightView;
+    TextView       heightView;
     @BindView(R.id.weight)
-    TextView      weightView;
+    TextView       weightView;
     @BindView(R.id.three)
-    TextView      threeView;
+    TextView       threeView;
     @BindView(R.id.skill_container)
-    LinearLayout  skillContainer;
+    LinearLayout   skillContainer;
     @BindView(R.id.honor_container)
-    LinearLayout  honorContainer;
+    LinearLayout   honorContainer;
     @BindView(R.id.label_container)
-    LinearLayout  labelContainer;
+    LinearLayout   labelContainer;
     @BindView(R.id.profile_container)
-    LinearLayout  profileContainer;
+    LinearLayout   profileContainer;
+    @BindView(R.id.tv_promote)
+    TextView       tvPromote;
+    @BindView(R.id.icon1)
+    RoundImageView icon1;
+    @BindView(R.id.icon2)
+    RoundImageView icon2;
+    @BindView(R.id.icon3)
+    RoundImageView icon3;
 
 
     @OnClick(R.id.back)
@@ -111,6 +138,11 @@ public class ModelDetailActivity extends BaseActivity {
 
     @Override
     public void initView() {
+        shareDialog = new ShareDialog(this);
+        shareDialog.setOnShareListener(this);
+        WeChatManager weChatManager = WeChatManager.getInstance();
+        weChatManager.init(this);
+        iwxapi = weChatManager.getApi();
         if (getIntent().hasExtra("model")) {
             model = (ModelInfo) getIntent().getSerializableExtra("model");
             modelPk = model.modelpk;
@@ -124,9 +156,7 @@ public class ModelDetailActivity extends BaseActivity {
 //        imagePager.setLayoutParams(lp);
 
         getModelInfo(modelPk);
-
         fillModelInfo();
-
         loadDetail();
     }
 
@@ -247,6 +277,22 @@ public class ModelDetailActivity extends BaseActivity {
         }
     }
 
+    private void fillFans(List<MemberInfo> fans) {
+        RoundImageView[] arr = {icon1, icon2, icon3};
+        for (int i = 0; i < fans.size(); i++) {
+            XUtilsImage.display(arr[i], HttpApi.getImgUrl(fans.get(i).hPhoto));
+            arr[i].setVisibility(View.VISIBLE);
+        }
+    }
+
+    private void fillTopParty(List<ActivityInfo> activityInfos) {
+        if (activityInfos.size() > 0) {
+            topParty = activityInfos.get(0);
+            tvPromote.setText(topParty.Intro);
+            tvPromote.setVisibility(View.VISIBLE);
+        }
+    }
+
     private void addProfile(String name, String value) {
         LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                 (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50, getResources().getDisplayMetrics()));
@@ -298,6 +344,12 @@ public class ModelDetailActivity extends BaseActivity {
                     labelList = res.dogetmodelfigure.selffigure;
                     fillModelLabel();
                 }
+                if (res.fans != null) {
+                    fillFans(res.fans);
+                }
+                if (res.topParty != null) {
+                    fillTopParty(res.topParty);
+                }
             }
 
             @Override
@@ -324,6 +376,51 @@ public class ModelDetailActivity extends BaseActivity {
         });
     }
 
+    @OnClick(R.id.iv_more)
+    void onClickMore() {
+        new ActionSheet(this)
+                .setItems(new String[]{"屏蔽", "举报"})
+                .setIcons(new int[]{R.mipmap.icon_pingbi, R.mipmap.icon_jubao_02})
+                .setOnItemClickListener(new ActionSheet.OnItemClickListener() {
+                    @Override
+                    public void onItemClick(int position, ActionSheet actionSheet) {
+                        actionSheet.dismiss();
+                        switch (position) {
+                            case 0:
+                                block();
+                                break;
+                            case 1:
+                                report();
+                                break;
+                        }
+                    }
+
+                    @Override
+                    public void onCancelClick(ActionSheet actionSheet) {
+                        actionSheet.dismiss();
+                    }
+                })
+                .show();
+    }
+
+    @OnClick(R.id.iv_share)
+    void onClickShare() {
+        shareDialog.show();
+    }
+
+    @OnClick(R.id.ll_fans)
+    void onClickFans() {
+        Intent intent = new Intent(this, FansActivity.class);
+        intent.putExtra("modelPK", model.modelpk);
+        openPage(intent);
+    }
+
+    @OnClick(R.id.tv_promote)
+    void clickTopParty() {
+        if (topParty != null) {
+            WebViewActivity.start(this, topParty.url);
+        }
+    }
 
     @OnClick(R.id.privateZone)
     public void privateZone() {
@@ -410,7 +507,6 @@ public class ModelDetailActivity extends BaseActivity {
                 hideLoading();
             }
         });
-        NimUIKit.startP2PSession(this, model.memberpk);
     }
 
 
@@ -505,9 +601,7 @@ public class ModelDetailActivity extends BaseActivity {
                 }).show();
     }
 
-
-    @OnClick(R.id.report)
-    public void report() {
+    private void report() {
         if (!ChmoApplication.isLogin()) {
             ChmoApplication.showLoginDialog(this);
             return;
@@ -517,8 +611,7 @@ public class ModelDetailActivity extends BaseActivity {
         openPage(intent);
     }
 
-    @OnClick(R.id.shield)
-    public void shield() {
+    private void block() {
         if (!ChmoApplication.isLogin()) {
             ChmoApplication.showLoginDialog(this);
             return;
@@ -558,4 +651,33 @@ public class ModelDetailActivity extends BaseActivity {
                 }).show();
     }
 
+    @Override
+    public void onShareWechatSession() {
+        WXWebpageObject webpageObject = new WXWebpageObject(HttpApi.BASE_URL + "modelCard.jsp??modelpk=" + this.model.modelpk + "&code=" + ChmoApplication.getApp().getLoginUser().qrcode);
+        WXMediaMessage message = new WXMediaMessage();
+        message.mediaObject = webpageObject;
+        message.title = "千模通告";
+        message.description = this.model.name + ",千模平台优秀模特,马上跟她视频认识一下吧。";
+        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
+        message.setThumbImage(bmp);
+        SendMessageToWX.Req req = new SendMessageToWX.Req();
+        req.scene = SendMessageToWX.Req.WXSceneSession;
+        req.message = message;
+        iwxapi.sendReq(req);
+    }
+
+    @Override
+    public void onShareWechatTimeline() {
+        WXWebpageObject webpageObject = new WXWebpageObject(HttpApi.BASE_URL + "modelCard.jsp??modelpk=" + this.model.modelpk + "&code=" + ChmoApplication.getApp().getLoginUser().qrcode);
+        WXMediaMessage message = new WXMediaMessage();
+        message.mediaObject = webpageObject;
+        message.title = this.model.name + ",千模平台优秀模特,马上跟她视频认识一下吧。";
+        message.description = this.model.name + ",千模平台优秀模特,马上跟她视频认识一下吧。";
+        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
+        message.setThumbImage(bmp);
+        SendMessageToWX.Req req = new SendMessageToWX.Req();
+        req.scene = SendMessageToWX.Req.WXSceneTimeline;
+        req.message = message;
+        iwxapi.sendReq(req);
+    }
 }

+ 1 - 2
app/src/main/java/com/android/chmo/ui/activity/promote/ShareActivity.java

@@ -76,8 +76,7 @@ public class ShareActivity extends BaseActivity implements ShareDialog.OnShareLi
         SendMessageToWX.Req req = new SendMessageToWX.Req();
         req.scene = SendMessageToWX.Req.WXSceneSession;
         req.message = message;
-        boolean success = iwxapi.sendReq(req);
-        Log.d("success", success + "");
+        iwxapi.sendReq(req);
     }
 
     @Override

+ 95 - 0
app/src/main/java/com/android/chmo/ui/adpater/FansAdapter.java

@@ -0,0 +1,95 @@
+package com.android.chmo.ui.adpater;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.android.chmo.R;
+import com.android.chmo.http.HttpApi;
+import com.android.chmo.http.RequestCallback;
+import com.android.chmo.http.response.ModelListRes;
+import com.android.chmo.http.service.ModelService;
+import com.android.chmo.model.MemberInfo;
+import com.android.chmo.model.ModelInfo;
+import com.android.chmo.ui.activity.model.ModelDetailActivity;
+import com.android.chmo.ui.view.RoundImageView;
+import com.android.chmo.utils.XUtilsImage;
+import com.google.gson.Gson;
+
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+public class FansAdapter extends RecyclerView.Adapter<FansAdapter.FansHolder> {
+    private Context          context;
+    private List<MemberInfo> data;
+
+    public FansAdapter(Context context, List<MemberInfo> data) {
+        this.context = context;
+        this.data = data;
+    }
+
+    @NonNull
+    @Override
+    public FansHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
+        return new FansHolder(LayoutInflater.from(context).inflate(R.layout.list_fans, viewGroup, false));
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull FansHolder fansHolder, int i) {
+        MemberInfo info = data.get(i);
+        XUtilsImage.display(fansHolder.ivAvatar, HttpApi.getImgUrl(data.get(i).hPhoto));
+        fansHolder.tvName.setText(data.get(i).Pet);
+        boolean isModel = "7".equals(info.MembType);
+        if (isModel) {
+            fansHolder.tvModel.setVisibility(View.VISIBLE);
+            fansHolder.itemView.setOnClickListener(v -> ModelService.getModelInfoByMemberPK(info.PK, new RequestCallback() {
+                @Override
+                public void onSuccess(String result) {
+                    ModelListRes res = new Gson().fromJson(result, ModelListRes.class);
+                    if (res.data != null && res.data.size() > 0) {
+                        ModelInfo model = res.data.get(0);
+                        Intent intent = new Intent(context, ModelDetailActivity.class);
+                        intent.putExtra("model", model);
+                        intent.putExtra("modelPk", model.modelpk);
+                        context.startActivity(intent);
+                        ((Activity) context).overridePendingTransition(R.anim.push_right_in, R.anim.push_left_out);
+                    }
+                }
+
+                @Override
+                public void onFailure(String error) {
+                }
+            }));
+        } else {
+            fansHolder.tvModel.setVisibility(View.GONE);
+            fansHolder.itemView.setOnClickListener(null);
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        return data.size();
+    }
+
+    class FansHolder extends RecyclerView.ViewHolder {
+        @BindView(R.id.iv_avatar)
+        RoundImageView ivAvatar;
+        @BindView(R.id.tv_name)
+        TextView       tvName;
+        @BindView(R.id.tv_model)
+        TextView       tvModel;
+
+        public FansHolder(@NonNull View itemView) {
+            super(itemView);
+            ButterKnife.bind(this, itemView);
+        }
+    }
+}

+ 122 - 0
app/src/main/java/com/android/chmo/ui/dialog/ActionSheet.java

@@ -0,0 +1,122 @@
+package com.android.chmo.ui.dialog;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.annotation.IdRes;
+import android.support.annotation.NonNull;
+import android.util.TypedValue;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.android.chmo.R;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+
+public class ActionSheet extends Dialog implements View.OnClickListener {
+    private String[]            items;
+    private int[]               icons;
+    private OnItemClickListener onItemClickListener;
+
+    @BindView(R.id.container)
+    LinearLayout container;
+
+    public ActionSheet(@NonNull Context context) {
+        super(context, R.style.DialogStyle);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.dialog_action_sheet);
+        ButterKnife.bind(this);
+        Window window = getWindow();
+        WindowManager.LayoutParams wlp = window.getAttributes();
+        wlp.gravity = Gravity.BOTTOM;
+        window.setAttributes(wlp);
+        window.setWindowAnimations(R.style.DialogAnimation);
+        window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
+
+        for (int i = 0; i < items.length; i++) {
+            LinearLayout item = new LinearLayout(getContext());
+            LinearLayout.LayoutParams itemParam = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50, getContext().getResources().getDisplayMetrics()));
+            item.setLayoutParams(itemParam);
+            if (icons != null && icons.length >= i) {
+                ImageView icon = new ImageView(getContext());
+                icon.setImageResource(icons[i]);
+                int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, getContext().getResources().getDisplayMetrics());
+                int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, getContext().getResources().getDisplayMetrics());
+                LinearLayout.LayoutParams iconParam = new LinearLayout.LayoutParams(width, height);
+                iconParam.rightMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 6, getContext().getResources().getDisplayMetrics());
+                icon.setLayoutParams(iconParam);
+                item.addView(icon);
+            }
+            TextView textView = new TextView(getContext());
+            textView.setText(items[i]);
+            textView.setTextColor(Color.BLACK);
+            textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
+            LinearLayout.LayoutParams textParam = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+            textView.setLayoutParams(textParam);
+            item.addView(textView);
+            item.setTag(i);
+            item.setOnClickListener(this);
+            item.setGravity(Gravity.CENTER);
+            container.addView(item);
+            if (i != items.length - 1) {
+                View view = new View(getContext());
+                view.setBackgroundColor(Color.rgb(242, 244, 245));
+                LinearLayout.LayoutParams dividerParam = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getContext().getResources().getDisplayMetrics()));
+                view.setLayoutParams(dividerParam);
+                dividerParam.leftMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getContext().getResources().getDisplayMetrics());
+                dividerParam.rightMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getContext().getResources().getDisplayMetrics());
+                container.addView(view);
+            }
+        }
+    }
+
+    public ActionSheet setItems(String[] items) {
+        this.items = items;
+        return this;
+    }
+
+    public ActionSheet setIcons(@IdRes int[] icons) {
+        this.icons = icons;
+        return this;
+    }
+
+    public ActionSheet setOnItemClickListener(OnItemClickListener onItemClickListener) {
+        this.onItemClickListener = onItemClickListener;
+        return this;
+    }
+
+    @Override
+    public void onClick(View v) {
+        int position = (int) v.getTag();
+        if (onItemClickListener != null) {
+            onItemClickListener.onItemClick(position, this);
+        }
+    }
+
+    @OnClick(R.id.btn_cancel)
+    void onCancelClick() {
+        if (onItemClickListener != null) {
+            onItemClickListener.onCancelClick(this);
+        }
+        dismiss();
+    }
+
+    public interface OnItemClickListener {
+        void onItemClick(int position, ActionSheet actionSheet);
+
+        void onCancelClick(ActionSheet actionSheet);
+    }
+}

+ 4 - 7
app/src/main/java/com/android/chmo/ui/fragment/home/ActivitiesFragment.java

@@ -105,13 +105,10 @@ public class ActivitiesFragment extends BaseFragment implements RefreshListView.
 
         activitiesAdapter = new ActivitiesAdapter(getBaseActivity());
         refreshListView.setAdapter(activitiesAdapter);
-        refreshListView.getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                Intent intent = new Intent(getBaseActivity(), ActivitiesDetailActivity.class);
-                intent.putExtra("data", mList.get(position));
-                getBaseActivity().openPage(intent);
-            }
+        refreshListView.getListView().setOnItemClickListener((parent, view, position, id) -> {
+            Intent intent = new Intent(getBaseActivity(), ActivitiesDetailActivity.class);
+            intent.putExtra("data", mList.get(position - 1));
+            getBaseActivity().openPage(intent);
         });
     }
 

+ 19 - 1
app/src/main/java/com/android/chmo/ui/view/RoundImageView.java

@@ -3,6 +3,8 @@ package com.android.chmo.ui.view;
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
 import android.graphics.Path;
 import android.graphics.RectF;
 import android.util.AttributeSet;
@@ -12,7 +14,9 @@ import com.android.chmo.R;
 
 public class RoundImageView extends android.support.v7.widget.AppCompatImageView {
     float width, height;
-    int radius, radiusTopLeft, radiusTopRight, radiusBottomLeft, radiusBottomRight;
+    int radius, radiusTopLeft, radiusTopRight, radiusBottomLeft, radiusBottomRight, borderWidth, borderColor;
+    Paint borderPaint;
+
 
     public RoundImageView(Context context) {
         this(context, null);
@@ -34,8 +38,15 @@ public class RoundImageView extends android.support.v7.widget.AppCompatImageView
             if (radius > 0) {
                 radiusTopLeft = radiusTopRight = radiusBottomLeft = radiusBottomRight = radius;
             }
+            borderWidth = typedArray.getDimensionPixelOffset(R.styleable.RoundImageView_riv_border_width, 0);
+            borderColor = typedArray.getColor(R.styleable.RoundImageView_riv_border_color, Color.BLACK);
             typedArray.recycle();
         }
+        borderPaint = new Paint();
+        borderPaint.setStyle(Paint.Style.STROKE);
+        borderPaint.setStrokeWidth(borderWidth);
+        borderPaint.setColor(borderColor);
+        borderPaint.setAntiAlias(true);
     }
 
     @Override
@@ -51,6 +62,13 @@ public class RoundImageView extends android.support.v7.widget.AppCompatImageView
         float radii[] = {radiusTopLeft, radiusTopLeft, radiusTopRight, radiusTopRight, radiusBottomRight, radiusBottomRight, radiusBottomLeft, radiusBottomLeft};
         path.addRoundRect(new RectF(0, 0, width, height), radii, Path.Direction.CCW);
         canvas.clipPath(path);
+        Paint paint = new Paint();
+        paint.setColor(Color.BLACK);
+        paint.setStrokeWidth(1);
+        paint.setStyle(Paint.Style.STROKE);
         super.onDraw(canvas);
+        if (borderWidth > 0) {
+            canvas.drawPath(path, borderPaint);
+        }
     }
 }

+ 5 - 0
app/src/main/res/drawable/bg_action_sheet.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="12dp" />
+</shape>

+ 7 - 0
app/src/main/res/drawable/bg_activity_detail.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/white" />
+    <corners
+        android:topLeftRadius="18dp"
+        android:topRightRadius="18dp" />
+</shape>

+ 5 - 0
app/src/main/res/drawable/bg_list_model.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="#ff4095" />
+    <corners android:radius="9dp" />
+</shape>

+ 5 - 0
app/src/main/res/drawable/bg_model_detail_chat.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="#ffc135" />
+    <corners android:radius="15dp" />
+</shape>

+ 5 - 0
app/src/main/res/drawable/bg_model_detail_gift.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="#ffc135" />
+    <corners android:radius="19dp" />
+</shape>

+ 14 - 0
app/src/main/res/drawable/bg_model_detail_promote.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+        android:angle="0"
+        android:endColor="#ffff22b2"
+        android:startColor="#ffff777a"
+        android:type="linear"
+        android:useLevel="false" />
+    <corners
+        android:bottomLeftRadius="0dp"
+        android:bottomRightRadius="0dp"
+        android:topLeftRadius="19dp"
+        android:topRightRadius="19dp" />
+</shape>

+ 1 - 1
app/src/main/res/drawable/btn_press.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android" >
     <solid android:color="@color/press_color" />
-    <corners android:radius="20dp"/>
+    <corners android:radius="22dp"/>
 </shape>

+ 302 - 84
app/src/main/res/layout/activity_activities_detail.xml

@@ -1,141 +1,359 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/bg"
+    android:background="@color/white"
     android:orientation="vertical">
 
     <com.android.chmo.ui.view.TopBar
+        android:id="@+id/top_bar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:background="@color/white"
         app:topTitle="活动详情" />
 
     <com.android.chmo.ui.view.TouchScrollView
         android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"
+        android:layout_height="match_parent"
+        android:layout_below="@id/top_bar"
         android:fillViewport="true">
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:orientation="vertical">
+            android:orientation="vertical"
+            android:paddingBottom="64dp">
 
             <ImageView
                 android:id="@+id/image"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
+                android:layout_height="210dp"
                 android:scaleType="centerCrop"
                 android:src="@mipmap/def_img2" />
 
-            <LinearLayout
+            <TextView
+                android:id="@+id/atitle"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:background="@color/white"
-                android:orientation="vertical"
-                android:padding="15dp">
+                android:layout_marginTop="-18dp"
+                android:background="@drawable/bg_activity_detail"
+                android:paddingLeft="20dp"
+                android:paddingTop="20dp"
+                android:paddingRight="20dp"
+                android:text="活动标题"
+                android:textColor="#ff000000"
+                android:textSize="18sp"
+                android:textStyle="bold" />
 
-                <TextView
-                    android:id="@+id/atitle"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginBottom="10dp"
-                    android:gravity="center"
-                    android:text="标题"
-                    android:textColor="@color/pink"
-                    android:textSize="16sp" />
+            <TextView
+                android:id="@+id/tv_price"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="10dp"
+                android:text="¥ 0"
+                android:textColor="#ffff4095"
+                android:textSize="15sp" />
 
-                <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:drawableLeft="@mipmap/block"
-                    android:drawablePadding="5dp"
-                    android:gravity="center_vertical"
-                    android:text="开始时间"
-                    android:textColor="@color/black"
-                    android:textSize="15sp" />
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="20dp"
+                android:gravity="left|center"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:layout_width="20dp"
+                    android:layout_height="20dp"
+                    android:layout_marginLeft="20dp"
+                    android:src="@mipmap/icon_shijian" />
 
                 <TextView
                     android:id="@+id/startTime"
-                    android:layout_width="match_parent"
+                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="10dp"
-                    android:layout_marginTop="10dp"
+                    android:layout_marginLeft="8dp"
                     android:text="2018-08-02 00:00"
                     android:textColor="@color/black"
                     android:textSize="13sp" />
-
             </LinearLayout>
 
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:background="@color/white"
-                android:orientation="vertical"
-                android:layout_marginTop="10dp"
-                android:padding="15dp">
-                <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:drawableLeft="@mipmap/block"
-                    android:drawablePadding="5dp"
-                    android:gravity="center_vertical"
-                    android:text="活动简介"
-                    android:textColor="@color/black"
-                    android:textSize="15sp" />
+                android:layout_marginTop="6dp"
+                android:gravity="left|center"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:layout_width="20dp"
+                    android:layout_height="20dp"
+                    android:layout_marginLeft="20dp"
+                    android:src="@mipmap/icon_renshu" />
 
                 <TextView
-                    android:id="@+id/desc"
-                    android:layout_width="match_parent"
+                    android:id="@+id/apply_num"
+                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="10dp"
-                    android:layout_marginTop="10dp"
-                    android:text=""
+                    android:layout_marginLeft="8dp"
+                    android:text="0"
                     android:textColor="@color/black"
                     android:textSize="13sp" />
             </LinearLayout>
 
-
-            <LinearLayout
+            <TextView
+                android:id="@+id/endTime"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:background="@color/white"
-                android:orientation="vertical"
+                android:layout_marginLeft="10dp"
                 android:layout_marginTop="10dp"
-                android:padding="15dp">
-                <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:drawableLeft="@mipmap/block"
-                    android:drawablePadding="5dp"
-                    android:gravity="center_vertical"
-                    android:text="报名截止时间"
-                    android:textColor="@color/black"
-                    android:textSize="15sp" />
+                android:text=""
+                android:textColor="@color/black"
+                android:textSize="13sp"
+                android:visibility="gone" />
 
-                <TextView
-                    android:id="@+id/endTime"
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
+                android:layout_marginRight="20dp"
+                android:background="@color/divider" />
+
+            <TextView
+                android:id="@+id/desc"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
+                android:layout_marginRight="20dp"
+                android:textColor="@color/black"
+                android:textSize="14sp" />
+
+            <com.dd.ShadowLayout
+                android:id="@+id/sign_list"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="8dp"
+                android:layout_marginTop="8dp"
+                android:layout_marginRight="8dp"
+                app:sl_cornerRadius="8dp"
+                app:sl_dx="0dp"
+                app:sl_dy="6dp"
+                app:sl_shadowColor="#14000000"
+                app:sl_shadowRadius="12dp">
+
+                <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="10dp"
-                    android:layout_marginTop="10dp"
-                    android:text=""
-                    android:textColor="@color/black"
-                    android:textSize="13sp" />
-            </LinearLayout>
+                    android:background="@drawable/bg_cell"
+                    android:orientation="vertical">
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="16dp"
+                        android:layout_marginTop="16dp"
+                        android:gravity="center"
+                        android:orientation="horizontal">
+
+                        <TextView
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:drawableLeft="@drawable/title_indicator"
+                            android:drawablePadding="4dp"
+                            android:text="已报名"
+                            android:textColor="#ff000000"
+                            android:textSize="14sp"
+                            android:textStyle="bold" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="查看全部"
+                            android:textColor="#333333"
+                            android:textSize="12sp" />
+
+                        <ImageView
+                            android:layout_width="20dp"
+                            android:layout_height="20dp"
+                            android:layout_marginRight="8dp"
+                            android:src="@mipmap/icon_inter" />
+                    </LinearLayout>
+
+                    <com.google.android.flexbox.FlexboxLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="17dp"
+                        android:layout_marginBottom="20dp"
+                        app:alignItems="center"
+                        app:flexDirection="row"
+                        app:justifyContent="space_around">
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:gravity="center"
+                            android:orientation="vertical"
+                            app:layout_flexBasisPercent="20%"
+                            app:layout_flexGrow="1">
+
+                            <com.android.chmo.ui.view.RoundImageView
+                                android:id="@+id/icon1"
+                                android:layout_width="36dp"
+                                android:layout_height="36dp"
+                                android:src="@mipmap/def_head"
+                                android:visibility="invisible"
+                                app:riv_radius="18dp" />
+
+                            <TextView
+                                android:id="@+id/name1"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="3dp"
+                                android:ellipsize="end"
+                                android:gravity="center"
+                                android:paddingLeft="5dp"
+                                android:paddingRight="5dp"
+                                android:textColor="#333333"
+                                android:textSize="10sp"
+                                android:visibility="invisible" />
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:gravity="center"
+                            android:orientation="vertical"
+                            app:layout_flexBasisPercent="20%"
+                            app:layout_flexGrow="1">
+
+                            <com.android.chmo.ui.view.RoundImageView
+                                android:id="@+id/icon2"
+                                android:layout_width="36dp"
+                                android:layout_height="36dp"
+                                android:src="@mipmap/def_head"
+                                android:visibility="invisible"
+                                app:riv_radius="18dp" />
+
+                            <TextView
+                                android:id="@+id/name2"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="3dp"
+                                android:ellipsize="end"
+                                android:gravity="center"
+                                android:paddingLeft="5dp"
+                                android:paddingRight="5dp"
+                                android:textColor="#333333"
+                                android:textSize="10sp"
+                                android:visibility="invisible" />
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:gravity="center"
+                            android:orientation="vertical"
+                            app:layout_flexBasisPercent="20%"
+                            app:layout_flexGrow="1">
+
+                            <com.android.chmo.ui.view.RoundImageView
+                                android:id="@+id/icon3"
+                                android:layout_width="36dp"
+                                android:layout_height="36dp"
+                                android:src="@mipmap/def_head"
+                                android:visibility="invisible"
+                                app:riv_radius="18dp" />
+
+                            <TextView
+                                android:id="@+id/name3"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="3dp"
+                                android:ellipsize="end"
+                                android:gravity="center"
+                                android:paddingLeft="5dp"
+                                android:paddingRight="5dp"
+                                android:textColor="#333333"
+                                android:textSize="10sp"
+                                android:visibility="invisible" />
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:gravity="center"
+                            android:orientation="vertical"
+                            app:layout_flexBasisPercent="20%"
+                            app:layout_flexGrow="1">
+
+                            <com.android.chmo.ui.view.RoundImageView
+                                android:id="@+id/icon4"
+                                android:layout_width="36dp"
+                                android:layout_height="36dp"
+                                android:src="@mipmap/def_head"
+                                android:visibility="invisible"
+                                app:riv_radius="18dp" />
+
+                            <TextView
+                                android:id="@+id/name4"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="3dp"
+                                android:ellipsize="end"
+                                android:gravity="center"
+                                android:paddingLeft="5dp"
+                                android:paddingRight="5dp"
+                                android:textColor="#333333"
+                                android:textSize="10sp"
+                                android:visibility="invisible" />
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:gravity="center"
+                            android:orientation="vertical"
+                            app:layout_flexBasisPercent="20%"
+                            app:layout_flexGrow="1">
+
+                            <com.android.chmo.ui.view.RoundImageView
+                                android:id="@+id/icon5"
+                                android:layout_width="36dp"
+                                android:layout_height="36dp"
+                                android:src="@mipmap/def_head"
+                                android:visibility="invisible"
+                                app:riv_radius="18dp" />
+
+                            <TextView
+                                android:id="@+id/name5"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="3dp"
+                                android:ellipsize="end"
+                                android:gravity="center"
+                                android:paddingLeft="5dp"
+                                android:paddingRight="5dp"
+                                android:textColor="#333333"
+                                android:textSize="10sp"
+                                android:visibility="invisible" />
+                        </LinearLayout>
+                    </com.google.android.flexbox.FlexboxLayout>
+                </LinearLayout>
+            </com.dd.ShadowLayout>
         </LinearLayout>
     </com.android.chmo.ui.view.TouchScrollView>
 
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:background="@color/white"
-        android:padding="20dp">
-        <Button
-            android:id="@+id/signBtn"
-            style="@style/largeBtn"
-            android:text="立即报名"/>
-    </LinearLayout>
-</LinearLayout>
+    <Button
+        android:id="@+id/signBtn"
+        style="@style/largeBtn"
+        android:layout_alignParentBottom="true"
+        android:layout_marginLeft="20dp"
+        android:layout_marginRight="20dp"
+        android:layout_marginBottom="10dp"
+        android:text="立即报名" />
+</RelativeLayout>

+ 28 - 0
app/src/main/res/layout/activity_fans.xml

@@ -0,0 +1,28 @@
+<?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:orientation="vertical"
+    tools:context=".ui.activity.model.FansActivity">
+
+    <com.android.chmo.ui.view.TopBar
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:topTitle="粉丝团" />
+
+    <com.scwang.smartrefresh.layout.SmartRefreshLayout
+        android:id="@+id/refresh_layout"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <android.support.v7.widget.RecyclerView
+            android:id="@+id/recycler_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:clipToPadding="false"
+            android:paddingTop="5dp"
+            android:paddingBottom="5dp" />
+    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
+</LinearLayout>

+ 45 - 48
app/src/main/res/layout/activity_model_detail.xml

@@ -18,38 +18,6 @@
 
             <include layout="@layout/model_info_header" />
 
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="50dp"
-                android:layout_marginTop="10dp"
-                android:background="@color/white"
-                android:gravity="left|center"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="10dp"
-                    android:drawableLeft="@drawable/title_indicator"
-                    android:drawablePadding="4dp"
-                    android:text="个性签名"
-                    android:textColor="#ff000000"
-                    android:textSize="14sp"
-                    android:textStyle="bold" />
-
-                <TextView
-                    android:id="@+id/sign"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="10dp"
-                    android:layout_marginRight="20dp"
-                    android:layout_weight="1"
-                    android:gravity="right"
-                    android:text=""
-                    android:textColor="@color/black"
-                    android:textSize="15sp" />
-            </LinearLayout>
-
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -163,6 +131,7 @@
         android:layout_alignParentBottom="true"
         android:background="@color/white"
         android:orientation="horizontal"
+        android:paddingLeft="10dp"
         app:alignItems="center"
         app:justifyContent="space_around">
 
@@ -179,23 +148,32 @@
             android:textSize="14sp"
             android:textStyle="bold" />
 
-        <Button
-            android:id="@+id/talk"
-            style="@style/Widget.AppCompat.Button.Borderless"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:minWidth="0dp"
-            android:padding="0dp"
-            android:text="与Ta聊天"
-            android:textAllCaps="false"
-            android:textColor="@color/pink"
-            android:textSize="14sp"
-            android:textStyle="bold" />
+        <LinearLayout
+            android:id="@+id/gift"
+            android:layout_width="110dp"
+            android:layout_height="38dp"
+            android:background="@drawable/bg_model_detail_gift"
+            android:gravity="center">
+
+            <ImageView
+                android:layout_width="30dp"
+                android:layout_height="30dp"
+                android:layout_marginRight="6dp"
+                android:src="@mipmap/icon_liwu" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="4dp"
+                android:text="礼物"
+                android:textColor="@color/white"
+                android:textSize="13sp"
+                android:textStyle="bold" />
+        </LinearLayout>
 
         <LinearLayout
             android:id="@+id/sendVideo"
-            android:layout_width="132dp"
+            android:layout_width="110dp"
             android:layout_height="38dp"
             android:background="@drawable/bg_btn_video"
             android:gravity="center">
@@ -210,7 +188,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="4dp"
-                android:text="与Ta视频"
+                android:text="视频"
                 android:textColor="@color/white"
                 android:textSize="13sp"
                 android:textStyle="bold" />
@@ -223,7 +201,6 @@
         android:layout_above="@id/bottom"
         android:background="@color/divider" />
 
-
     <ImageView
         android:id="@+id/back"
         android:layout_width="wrap_content"
@@ -231,4 +208,24 @@
         android:layout_marginTop="20dp"
         android:padding="12dp"
         android:src="@mipmap/icon_back_white" />
+
+    <ImageView
+        android:id="@+id/iv_more"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:layout_marginTop="22dp"
+        android:layout_marginRight="47dp"
+        android:padding="8dp"
+        android:src="@mipmap/icon_diandian" />
+
+    <ImageView
+        android:id="@+id/iv_share"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:layout_marginTop="22dp"
+        android:layout_marginRight="7dp"
+        android:padding="8dp"
+        android:src="@mipmap/icon_fenxiang_baise" />
 </RelativeLayout>

+ 4 - 8
app/src/main/res/layout/activity_settings.xml

@@ -20,7 +20,7 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="vertical" >
+            android:orientation="vertical">
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -160,6 +160,7 @@
                     android:textStyle="bold" />
 
                 <Switch
+                    android:id="@+id/msg_switch"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginRight="15dp"
@@ -172,16 +173,11 @@
 
     <Button
         android:id="@+id/btn_logout"
-        android:layout_width="match_parent"
-        android:layout_height="44dp"
+        style="@style/largeBtn"
         android:layout_marginLeft="20dp"
         android:layout_marginRight="20dp"
         android:layout_marginBottom="15dp"
-        android:background="@drawable/bg_btn_logout"
-        android:elevation="10dp"
-        android:text="退出登录"
-        android:textColor="@color/white"
-        android:textSize="16sp" />
+        android:text="退出登录" />
 
 
 </LinearLayout>

+ 28 - 0
app/src/main/res/layout/activity_sign_list.xml

@@ -0,0 +1,28 @@
+<?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:orientation="vertical"
+    tools:context=".ui.activity.model.FansActivity">
+
+    <com.android.chmo.ui.view.TopBar
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:topTitle="报名列表" />
+
+    <com.scwang.smartrefresh.layout.SmartRefreshLayout
+        android:id="@+id/refresh_layout"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <android.support.v7.widget.RecyclerView
+            android:id="@+id/recycler_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:clipToPadding="false"
+            android:paddingTop="5dp"
+            android:paddingBottom="5dp" />
+    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
+</LinearLayout>

+ 31 - 0
app/src/main/res/layout/dialog_action_sheet.xml

@@ -0,0 +1,31 @@
+<?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="wrap_content"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:id="@+id/container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="12dp"
+        android:layout_marginRight="12dp"
+        android:layout_marginBottom="10dp"
+        android:background="@drawable/bg_action_sheet"
+        android:orientation="vertical">
+
+    </LinearLayout>
+
+    <Button
+        android:id="@+id/btn_cancel"
+        style="@style/Widget.AppCompat.Button.Borderless"
+        android:layout_width="match_parent"
+        android:layout_height="44dp"
+        android:layout_marginLeft="12dp"
+        android:layout_marginRight="12dp"
+        android:layout_marginBottom="10dp"
+        android:background="@drawable/bg_action_sheet"
+        android:text="取消"
+        android:textColor="@color/black"
+        android:textSize="16sp" />
+</LinearLayout>

+ 50 - 0
app/src/main/res/layout/list_fans.xml

@@ -0,0 +1,50 @@
+<?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"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingTop="5dp"
+    android:paddingBottom="5dp">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="60dp"
+        android:layout_marginLeft="20dp"
+        android:layout_marginRight="20dp"
+        android:background="@drawable/bg_promote_item"
+        android:gravity="left|center"
+        android:orientation="horizontal">
+
+        <com.android.chmo.ui.view.RoundImageView
+            android:id="@+id/iv_avatar"
+            android:layout_width="36dp"
+            android:layout_height="36dp"
+            android:layout_marginLeft="15dp"
+            android:scaleType="centerCrop"
+            android:src="@mipmap/def_head"
+            app:riv_radius="18dp" />
+
+        <TextView
+            android:id="@+id/tv_name"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="14dp"
+            android:layout_weight="1"
+            android:textColor="@color/black"
+            android:textSize="14sp"
+            android:textStyle="bold" />
+
+        <TextView
+            android:id="@+id/tv_model"
+            android:layout_width="36dp"
+            android:layout_height="18dp"
+            android:layout_marginRight="15dp"
+            android:background="@drawable/bg_list_model"
+            android:gravity="center"
+            android:text="模特"
+            android:textColor="@color/white"
+            android:textSize="10sp"
+            android:visibility="gone" />
+    </LinearLayout>
+</LinearLayout>

+ 197 - 81
app/src/main/res/layout/model_info_header.xml

@@ -9,9 +9,7 @@
         android:id="@+id/images"
         android:layout_width="0dp"
         android:layout_height="0dp"
-        android:layout_marginBottom="180dp"
         android:background="@mipmap/def_img2"
-        app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintDimensionRatio="1"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
@@ -27,65 +25,57 @@
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent" />
 
-    <LinearLayout
+    <TextView
+        android:id="@+id/tv_promote"
+        android:layout_width="match_parent"
+        android:layout_height="34dp"
+        android:layout_marginLeft="20dp"
+        android:layout_marginRight="20dp"
+        android:layout_marginBottom="20dp"
+        android:background="@drawable/bg_model_detail_promote"
+        android:ellipsize="end"
+        android:gravity="left|center"
+        android:lines="1"
+        android:paddingLeft="15dp"
+        android:paddingRight="15dp"
+        android:text="我正在参加“谁是舞王”大赛,快来给我加油吧!快来给我加油吧"
+        android:textColor="@color/white"
+        android:textSize="13sp"
+        android:visibility="invisible"
+        app:layout_constraintBottom_toBottomOf="@id/images" />
+
+    <ImageView
+        android:id="@+id/status"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginTop="40dp"
-        android:layout_marginRight="17dp"
-        android:gravity="right"
-        android:orientation="vertical"
+        android:layout_marginTop="68dp"
+        android:layout_marginRight="20dp"
+        android:src="@mipmap/status_outline"
         app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:id="@+id/status"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/status_outline" />
-
-        <TextView
-            android:id="@+id/report"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="15dp"
-            android:drawableTop="@mipmap/icon_jubao_02"
-            android:gravity="center"
-            android:text="举报"
-            android:textColor="@color/white"
-            android:textSize="12sp" />
-
-
-        <TextView
-            android:id="@+id/shield"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="6dp"
-            android:drawableTop="@mipmap/icon_pingbi"
-            android:gravity="center"
-            android:text="屏蔽"
-            android:textColor="@color/white"
-            android:textSize="12sp" />
+        app:layout_constraintTop_toTopOf="parent" />
 
-        <TextView
-            android:id="@+id/call"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="15dp"
-            android:drawableTop="@mipmap/video_pay"
-            android:drawablePadding="5dp"
-            android:text="直呼"
-            android:textColor="@color/white"
-            android:textSize="14sp"
-            android:visibility="gone" />
-    </LinearLayout>
+    <TextView
+        android:id="@+id/call"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="15dp"
+        android:drawableTop="@mipmap/video_pay"
+        android:drawablePadding="5dp"
+        android:text="直呼"
+        android:textColor="@color/white"
+        android:textSize="14sp"
+        android:visibility="gone" />
 
-    <RelativeLayout
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="200dp"
+        android:layout_height="wrap_content"
         android:background="@drawable/bg_model_info_header"
-        app:layout_constraintBottom_toBottomOf="parent"
+        android:orientation="vertical"
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent">
+        app:layout_constraintHorizontal_bias="1"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/tv_promote"
+        app:layout_constraintVertical_bias="1">
 
         <LinearLayout
             android:layout_width="wrap_content"
@@ -168,36 +158,11 @@
             </LinearLayout>
         </LinearLayout>
 
-        <LinearLayout
-            android:id="@+id/follow_btn"
-            android:layout_width="60dp"
-            android:layout_height="28dp"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentRight="true"
-            android:layout_marginTop="20dp"
-            android:layout_marginRight="20dp"
-            android:background="@drawable/bg_btn_follow_selector"
-            android:gravity="center">
-
-            <ImageView
-                android:layout_width="15dp"
-                android:layout_height="15dp"
-                android:src="@drawable/btn_follow_icon_selector" />
-
-            <TextView
-                android:id="@+id/tv_follow"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="2dp"
-                android:text="关注"
-                android:textColor="#ffffffff"
-                android:textSize="13sp" />
-        </LinearLayout>
 
         <com.dd.ShadowLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_alignParentBottom="true"
+            android:layout_margin="-5dp"
             android:layout_marginLeft="12dp"
             android:layout_marginRight="12dp"
             android:layout_marginBottom="20dp"
@@ -206,7 +171,7 @@
             app:sl_dx="0dp"
             app:sl_dy="6dp"
             app:sl_shadowColor="#14000000"
-            app:sl_shadowRadius="8dp">
+            app:sl_shadowRadius="12dp">
 
             <com.google.android.flexbox.FlexboxLayout
                 android:layout_width="match_parent"
@@ -255,6 +220,157 @@
             </com.google.android.flexbox.FlexboxLayout>
 
         </com.dd.ShadowLayout>
-    </RelativeLayout>
 
+        <android.support.constraint.ConstraintLayout
+            android:id="@+id/ll_fans"
+            android:layout_width="match_parent"
+            android:layout_height="50dp">
+
+            <TextView
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="20dp"
+                android:layout_weight="1"
+                android:text="粉丝团"
+                android:textColor="@color/black"
+                android:textSize="14sp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintLeft_toLeftOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <com.android.chmo.ui.view.RoundImageView
+                android:id="@+id/icon3"
+                android:layout_width="30dp"
+                android:layout_height="30dp"
+                android:layout_marginRight="77dp"
+                android:scaleType="centerCrop"
+                android:src="@mipmap/def_head"
+                android:visibility="invisible"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintRight_toRightOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                app:riv_border_color="@color/white"
+                app:riv_border_width="1dp"
+                app:riv_radius="15dp" />
+
+            <com.android.chmo.ui.view.RoundImageView
+                android:id="@+id/icon2"
+                android:layout_width="30dp"
+                android:layout_height="30dp"
+                android:layout_marginLeft="16dp"
+                android:layout_marginRight="77dp"
+                android:scaleType="centerCrop"
+                android:src="@mipmap/def_head"
+                android:visibility="invisible"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintLeft_toLeftOf="@id/icon3"
+                app:layout_constraintTop_toTopOf="parent"
+                app:riv_border_color="@color/white"
+                app:riv_border_width="1dp"
+                app:riv_radius="15dp" />
+
+            <com.android.chmo.ui.view.RoundImageView
+                android:id="@+id/icon1"
+                android:layout_width="30dp"
+                android:layout_height="30dp"
+                android:layout_marginLeft="16dp"
+                android:layout_marginRight="77dp"
+                android:scaleType="centerCrop"
+                android:src="@mipmap/def_head"
+                android:visibility="invisible"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintLeft_toLeftOf="@id/icon2"
+                app:layout_constraintTop_toTopOf="parent"
+                app:riv_border_color="@color/white"
+                app:riv_border_width="1dp"
+                app:riv_radius="15dp" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="15dp"
+                android:src="@mipmap/icon_inter"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintRight_toRightOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginRight="20dp"
+                android:background="#F2F4F5"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintLeft_toLeftOf="parent"
+                app:layout_constraintRight_toRightOf="parent" />
+
+        </android.support.constraint.ConstraintLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="50dp"
+            android:background="@color/white"
+            android:gravity="left|center"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="10dp"
+                android:drawableLeft="@drawable/title_indicator"
+                android:drawablePadding="4dp"
+                android:text="个性签名"
+                android:textColor="#ff000000"
+                android:textSize="14sp"
+                android:textStyle="bold" />
+
+            <TextView
+                android:id="@+id/sign"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="10dp"
+                android:layout_marginRight="20dp"
+                android:layout_weight="1"
+                android:gravity="right"
+                android:text=""
+                android:textColor="@color/black"
+                android:textSize="15sp" />
+        </LinearLayout>
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/follow_btn"
+        android:layout_width="60dp"
+        android:layout_height="28dp"
+        android:layout_marginRight="20dp"
+        android:background="@drawable/bg_btn_follow_selector"
+        android:gravity="center"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/images">
+
+        <ImageView
+            android:layout_width="15dp"
+            android:layout_height="15dp"
+            android:src="@drawable/btn_follow_icon_selector" />
+
+        <TextView
+            android:id="@+id/tv_follow"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="2dp"
+            android:text="关注"
+            android:textColor="#ffffffff"
+            android:textSize="13sp" />
+    </LinearLayout>
+
+    <ImageView
+        android:id="@+id/talk"
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+        android:layout_marginRight="14dp"
+        android:background="@drawable/bg_model_detail_chat"
+        android:src="@mipmap/icon_liaotian"
+        app:layout_constraintBottom_toBottomOf="@+id/follow_btn"
+        app:layout_constraintEnd_toStartOf="@+id/follow_btn"
+        app:layout_constraintTop_toTopOf="@+id/follow_btn" />
 </android.support.constraint.ConstraintLayout>

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


+ 2 - 0
app/src/main/res/values/attrs.xml

@@ -21,5 +21,7 @@
         <attr name="radius_top_right" format="dimension" />
         <attr name="radius_bottom_left" format="dimension" />
         <attr name="radius_bottom_right" format="dimension" />
+        <attr name="riv_border_color" format="color" />
+        <attr name="riv_border_width" format="dimension" />
     </declare-styleable>
 </resources>

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

@@ -60,10 +60,10 @@
         <item name="android:textCursorDrawable">@drawable/edit_cursor</item>
     </style>
 
-    <style name="largeBtn">
+    <style name="largeBtn" parent="Base.Widget.AppCompat.Button.Borderless">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">44dp</item>
-        <item name="android:background">@drawable/pink_btn</item>
+        <item name="android:background">@drawable/bg_btn_logout</item>
         <item name="android:foreground">@drawable/btn_selector</item>
         <item name="android:textSize">16sp</item>
         <item name="android:textStyle">bold</item>