Browse Source

[修改]主页menu按钮点击悬浮窗

zeki 5 years ago
parent
commit
a5c539bca7
26 changed files with 528 additions and 280 deletions
  1. 2 2
      app/src/main/java/com/sheep/gamegroup/module/guide/NewbieGuideHelper.java
  2. 64 44
      app/src/main/java/com/sheep/gamegroup/module/home/fragment/FgtMainHeader.java
  3. 1 1
      app/src/main/java/com/sheep/gamegroup/module/login/fragments/SignInFgt.java
  4. 1 0
      app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java
  5. 3 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActMain.java
  6. 4 3
      app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java
  7. 2 2
      app/src/main/java/com/sheep/gamegroup/view/customview/TouchFrameLayout.java
  8. 18 18
      app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java
  9. BIN
      app/src/main/res/drawable-xhdpi/qingchu.png
  10. BIN
      app/src/main/res/drawable-xhdpi/zhedie.png
  11. BIN
      app/src/main/res/drawable-xhdpi/zhixiang.png
  12. BIN
      app/src/main/res/drawable-xxhdpi/qingchu.png
  13. BIN
      app/src/main/res/drawable-xxhdpi/zhedie.png
  14. BIN
      app/src/main/res/drawable-xxhdpi/zhixiang.png
  15. BIN
      app/src/main/res/drawable-xxxhdpi/qingchu.png
  16. BIN
      app/src/main/res/drawable-xxxhdpi/zhedie.png
  17. BIN
      app/src/main/res/drawable-xxxhdpi/zhixiang.png
  18. 5 0
      app/src/main/res/drawable/bg_corner_12dp.xml
  19. 5 0
      app/src/main/res/drawable/bg_corner_4dp.xml
  20. 4 0
      app/src/main/res/drawable/bg_corner_8dp.xml
  21. 1 1
      app/src/main/res/layout/account_select_item.xml
  22. 2 2
      app/src/main/res/layout/act_bottom_bar.xml
  23. 93 73
      app/src/main/res/layout/act_main.xml
  24. 157 133
      app/src/main/res/layout/fgt_main_header.xml
  25. 3 1
      app/src/main/res/layout/fragment_sign_in.xml
  26. 163 0
      app/src/main/res/layout/pop_home_menu.xml

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/module/guide/NewbieGuideHelper.java

@@ -163,7 +163,7 @@ public class NewbieGuideHelper {
         };
         return GuidePage.newInstance()//创建一个实例
                 .addHighLightWithOptions(ActMain.tabBtn1.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide3).useMaxSize(false).build())
-                .addHighLightWithOptions(FgtMainHeader.msgRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide2).useMaxSize(true).build())
+                //.addHighLightWithOptions(FgtMainHeader.msgRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide2).useMaxSize(true).build())
 //                .addHighLightWithOptions(FgtHome.newsRef.get(), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide1).useMaxSize(false).setOffsetLeft(0.2f).setOffsetWidth(0.6f).build())
                 .setEnterAnimation(enterAnimation)//进入动画
                 .setExitAnimation(exitAnimation);//退出动画;
@@ -258,7 +258,7 @@ public class NewbieGuideHelper {
         };
         return GuidePage.newInstance()//创建一个实例
                 .addHighLightWithOptions(ActMain.tabBtn2.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
-                .addHighLightWithOptions(FgtMainHeader.downloadRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide2).build())
+                //.addHighLightWithOptions(FgtMainHeader.downloadRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide2).build())
                 .addHighLightWithOptions(FgtGameCenter.getTab(0), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide1).build())
                 .setLayoutRes(R.layout.newbie_guide_8_3)
                 .setOnLayoutInflatedListener(new OnBackgroundListener())

+ 64 - 44
app/src/main/java/com/sheep/gamegroup/module/home/fragment/FgtMainHeader.java

@@ -2,11 +2,16 @@ package com.sheep.gamegroup.module.home.fragment;
 
 import android.content.Intent;
 import android.graphics.Color;
+import android.os.Build;
 import android.os.Bundle;
+import android.view.Gravity;
+import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.ImageView;
+import android.widget.PopupWindow;
 import android.widget.TextView;
-
+import cn.finalteam.rxgalleryfinal.utils.CameraUtil;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.event.BigEvent;
 import com.sheep.gamegroup.greendao.download.DownLoadInfo;
@@ -15,18 +20,8 @@ import com.sheep.gamegroup.model.entity.MessageUnReadEntity;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.entity.WebParams;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.module.qrcode.QRCodeActivity;
 import com.sheep.gamegroup.module.qrcode.ScanQRCodeActivity;
-import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.Constant;
-import com.sheep.gamegroup.util.DataUtil;
-import com.sheep.gamegroup.util.GlideImageLoader;
-import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.util.LogUtil;
-import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.gamegroup.view.activity.ActMsg;
-import com.sheep.gamegroup.view.activity.ActWebShareImage;
-import com.sheep.gamegroup.view.dialog.DialogNotificationOfArrival;
+import com.sheep.gamegroup.util.*;
 import com.sheep.gamegroup.view.fragment.FgtPersonalCenter;
 import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
@@ -34,8 +29,6 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
-import com.sheep.gamegroup.util.DownloadUtil;
-
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 
@@ -45,15 +38,13 @@ import java.util.Locale;
 
 import butterknife.BindView;
 import butterknife.OnClick;
-import cn.finalteam.rxgalleryfinal.utils.CameraUtil;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 
 public class FgtMainHeader extends BaseFragment {
 
     public static WeakReference<View> faceRef;
-    public static WeakReference<View> downloadRef;
-    public static WeakReference<View> msgRef;
+
 
     @BindView(R.id.iv_user_face)
     ImageView iv_user_face;
@@ -71,10 +62,9 @@ public class FgtMainHeader extends BaseFragment {
     View v_red_dot;
     @BindView(R.id.show_hide_pwd_btn)
     ImageView show_hide_pwd_btn;
-    @BindView(R.id.iv_msg)
-    View iv_msg;
-    @BindView(R.id.iv_download)
-    View iv_download;
+
+    @BindView(R.id.iv_menu)
+    View iv_menu;
 
     private UserEntity user;
 
@@ -113,8 +103,6 @@ public class FgtMainHeader extends BaseFragment {
         getUnReadMessageCounts();
         ViewUtil.setVisibility(v_red_dot, SpUtils.isVoucherFirst());
         faceRef = new WeakReference<>(iv_user_face);
-        downloadRef = new WeakReference<>(iv_download);
-        msgRef = new WeakReference<>(iv_msg);
     }
 
     @Override
@@ -143,21 +131,31 @@ public class FgtMainHeader extends BaseFragment {
         ViewUtil.setText(tv_nickname, user.getNickname());
     }
 
-    @OnClick(R.id.show_hide_pwd_btn)
+
+    @OnClick({R.id.show_hide_pwd_btn, R.id.iv_menu})
     public void showAsset(View v) {
-        ImageView btn = (ImageView) v;
-        btn.setSelected(!btn.isSelected());
-        if (btn.isSelected()) {
-            GlideImageLoader.setImage(btn, R.mipmap.pwd_show);
-            tv_user_asset.setText(String.format(Locale.CHINA, "%s\u0020元", NumberFormatUtils.retainMost2W(user.getBalance())));
-            CommonUtil.getInstance().getUserInfo(true, (userEntity) -> {
-                user = userEntity;
-                tv_user_asset.setText(String.format(Locale.CHINA, "%s\u0020元", NumberFormatUtils.retainMost2W(user.getBalance())));
-            });
-        } else {
-            GlideImageLoader.setImage(btn, R.mipmap.pwd_hide);
-            tv_user_asset.setText("****");
+        switch (v.getId()) {
+            case R.id.show_hide_pwd_btn:
+                ImageView btn = (ImageView) v;
+                btn.setSelected(!btn.isSelected());
+                if (btn.isSelected()) {
+                    GlideImageLoader.setImage(btn, R.mipmap.pwd_show);
+                    tv_user_asset.setText(String.format(Locale.CHINA, "%s\u0020元", NumberFormatUtils.retainMost2W(user.getBalance())));
+                    CommonUtil.getInstance().getUserInfo(true, (userEntity) -> {
+                        user = userEntity;
+                        tv_user_asset.setText(String.format(Locale.CHINA, "%s\u0020元", NumberFormatUtils.retainMost2W(user.getBalance())));
+                    });
+                } else {
+                    GlideImageLoader.setImage(btn, R.mipmap.pwd_hide);
+                    tv_user_asset.setText("****");
+                }
+                break;
+            case R.id.iv_menu:
+                showOrHideMenuPop();
+                break;
+
         }
+
     }
 
     @OnClick(R.id.iv_user_face)
@@ -165,23 +163,20 @@ public class FgtMainHeader extends BaseFragment {
         Jump2View.getInstance().goPersonnalCenterView(getActivity(), null);
     }
 
-    @OnClick(R.id.iv_msg)
+    @OnClick(R.id.iv_search)
+    public void onSearchClick() {
+        Jump2View.getInstance().goActSearch(getActivity());
+    }
+
     public void onMsgClick() {
 //        startActivity(new Intent(getActivity(), ActMsg.class));
         Jump2View.getInstance().goWeb(getActivity(), new WebParams(Config.getUrlByPath(Config.PATH_MESSAGE_HOME)).setTitle("消息中心").hideProgress());
     }
 
-    @OnClick(R.id.iv_download)
     public void onDownloadClick() {
         Jump2View.getInstance().goActDownloadManager(getActivity());
     }
 
-    @OnClick(R.id.iv_search)
-    public void onSearchClick() {
-        Jump2View.getInstance().goActSearch(getActivity());
-    }
-
-    @OnClick(R.id.iv_scan)
     public void onScanQR() {
         if (!CameraUtil.checkCameraPermission(getActivity())) return;
         Intent intent = new Intent(getActivity(), ScanQRCodeActivity.class);
@@ -216,6 +211,31 @@ public class FgtMainHeader extends BaseFragment {
                 });
     }
 
+
+    private PopupWindow menuPopWindow;
+
+    private void showOrHideMenuPop() {
+        if (menuPopWindow == null) {
+            View menuContentView = LayoutInflater.from(getContext()).inflate(R.layout.pop_home_menu, null, false);
+            menuPopWindow = new PopupWindow(menuContentView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+            menuPopWindow.setFocusable(true);
+            menuContentView.findViewById(R.id.tv_msg).setOnClickListener(v -> {
+                onMsgClick();
+            });
+            menuContentView.findViewById(R.id.tv_scan).setOnClickListener(v -> {
+                onScanQR();
+            });
+            menuContentView.findViewById(R.id.tv_download_center).setOnClickListener(v -> {
+                onDownloadClick();
+            });
+        }
+        if (menuPopWindow.isShowing()) {
+            menuPopWindow.dismiss();
+        } else {
+            menuPopWindow.showAsDropDown(iv_menu, 0, 5);
+        }
+    }
+
     public void showDownloadInfo() {
         List<DownLoadInfo> infos = new DownloadUtil().getAllDownloadTasks();
         int runningCount = 0;

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/login/fragments/SignInFgt.java

@@ -367,7 +367,7 @@ public class SignInFgt extends AbsLoginFgt {
         }
         View flagView = findViewById(R.id.login_btn);
         RecyclerView listView = new RecyclerView(getContext());
-        listView.setBackgroundResource(R.drawable.screenshot_panel);
+        listView.setBackgroundResource(R.drawable.bg_corner_4dp);
         listView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
         final PopupWindow popupWindow = new PopupWindow(listView,
                 flagView.getMeasuredWidth(),

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java

@@ -273,6 +273,7 @@ public class FgtWebX5 extends BaseFgtWebX5 {
                     if (!(getActivity() instanceof ActMain)) {
                         TitleBarUtils
                                 .getInstance()
+                                .setTitleBack(getActivity())
                                 .setTitle(getActivity(), title);
                     }
                 }

+ 3 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActMain.java

@@ -54,17 +54,20 @@ import com.uuzuche.lib_zxing.activity.CodeUtils;
 import com.youmi.android.offer.BaseActYmPermissionCheck;
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
+
 import java.io.File;
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.TimeUnit;
+
 import butterknife.BindView;
 import io.reactivex.Observable;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 import rx.functions.Action1;
+
 import static android.content.Intent.ACTION_PACKAGE_ADDED;
 import static android.content.Intent.ACTION_PACKAGE_REMOVED;
 import static com.sheep.gamegroup.module.task.fragments.FgtVideoTaskBase.KEY_RELEASE_TASK;

+ 4 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -185,8 +185,8 @@ public class SplashAct extends BaseActivity {
                     public void onFail(int i) {
                         if (BuildConfig.DEBUG)
                             Log.d("!!!!!Fail", String.valueOf(i));
-                            //拉取广告错误或超时,直接跳过
-                            sendHandlerMessages(0);
+                        //拉取广告错误或超时,直接跳过
+                        sendHandlerMessages(0);
                     }
 
                     @Override
@@ -252,7 +252,8 @@ public class SplashAct extends BaseActivity {
             @Override
             public void onSplashPresent() {
                 Log.i("jasmine-ad", "广告数据加载");
-                splash_image_view.setVisibility(View.GONE); // 广告展示后一定要把预设的开屏图片隐藏起来
+                if (splash_image_view != null)
+                    splash_image_view.setVisibility(View.GONE); // 广告展示后一定要把预设的开屏图片隐藏起来
             }
 
             @Override

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/view/customview/TouchFrameLayout.java

@@ -47,8 +47,8 @@ public class TouchFrameLayout extends FrameLayout {
 
     private void init(Context ctx) {
         ViewConfiguration viewConfiguration = ViewConfiguration.get(ctx);
-        max = ScreenUtil.dip2px(ctx, 72);
-        min = ScreenUtil.dip2px(ctx, 32);
+        max = ScreenUtil.dip2px(ctx, 82);
+        min = ScreenUtil.dip2px(ctx, 42);
         touchSlop = viewConfiguration.getScaledTouchSlop();
     }
 

+ 18 - 18
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -190,22 +190,22 @@ public class SheepApp extends MultiDexApplication {
     public void onCreate() {
 //        configStrictMode();
         super.onCreate();
-        SharedPreferencesUtil.getInstance(this,"cache");
+        SharedPreferencesUtil.getInstance(this, "cache");
         mSheepApp = this;
         connectAddress = ConnectAddress.sheep.getDefaultConnectAddress();
-        if (AppUtil.isMainProcess(this)) {
-            boolean isNotSupport = Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN_MR1;
-            ContextHolder.setContext(this);
 
-            if (!isNotSupport) {
-                registerActivityLifecycleCallbacks(activityLifecycleCallbacks);
-            }
-            initNet();
-            if (isNotSupport) {
-                return;
-            }
-            initUtils();
-            ChannelContent.getInstance().initChannelContent(this);
+        boolean isNotSupport = Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN_MR1;
+        ContextHolder.setContext(this);
+
+        if (!isNotSupport) {
+            registerActivityLifecycleCallbacks(activityLifecycleCallbacks);
+        }
+        initNet();
+        if (isNotSupport) {
+            return;
+        }
+        initUtils();
+        ChannelContent.getInstance().initChannelContent(this);
 
             /*try {
                 JLibrary.InitEntry(this);
@@ -213,10 +213,10 @@ public class SheepApp extends MultiDexApplication {
                 e.printStackTrace();
             }*/
 
-            /*Rx兜底策略*/
-            RxJavaPlugins.setErrorHandler(throwable -> Log.e("RxThrowable", throwable.getMessage()));
+        /*Rx兜底策略*/
+        RxJavaPlugins.setErrorHandler(throwable -> Log.e("RxThrowable", throwable.getMessage()));
+
 
-        }
         if (AppUtil.isMainProcess(this)) {
             /*三方广告SDK接入,点客、游可盈、优投等*/
             initThirdAd();
@@ -231,8 +231,8 @@ public class SheepApp extends MultiDexApplication {
     public static void initWebViewDataDirectory(Context context) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
             String processName = getProcessName();
-            Log.d("!!!大的进程名",context.getPackageName());
-            Log.d("!!!当前的进程名",processName);
+            Log.d("!!!大的进程名", context.getPackageName());
+            Log.d("!!!当前的进程名", processName);
 
             if (!context.getPackageName().equals(processName)) {//判断是否是默认进程名称
                 WebView.setDataDirectorySuffix(processName);

BIN
app/src/main/res/drawable-xhdpi/qingchu.png


BIN
app/src/main/res/drawable-xhdpi/zhedie.png


BIN
app/src/main/res/drawable-xhdpi/zhixiang.png


BIN
app/src/main/res/drawable-xxhdpi/qingchu.png


BIN
app/src/main/res/drawable-xxhdpi/zhedie.png


BIN
app/src/main/res/drawable-xxhdpi/zhixiang.png


BIN
app/src/main/res/drawable-xxxhdpi/qingchu.png


BIN
app/src/main/res/drawable-xxxhdpi/zhedie.png


BIN
app/src/main/res/drawable-xxxhdpi/zhixiang.png


+ 5 - 0
app/src/main/res/drawable/bg_corner_12dp.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape android:shape="rectangle"
+       xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="12dp"/>
+</shape>

+ 5 - 0
app/src/main/res/drawable/bg_corner_4dp.xml

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

+ 4 - 0
app/src/main/res/drawable/bg_corner_8dp.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="8dp"/>
+</shape>

+ 1 - 1
app/src/main/res/layout/account_select_item.xml

@@ -24,7 +24,7 @@
 
     <ImageView
         android:id="@+id/account_delete_btn"
-        android:src="@mipmap/cross_delete"
+        android:src="@drawable/qingchu"
         android:padding="10dp"
         android:layout_alignParentRight="true"
         android:layout_centerVertical="true"

+ 2 - 2
app/src/main/res/layout/act_bottom_bar.xml

@@ -16,13 +16,13 @@
             android:id="@+id/main_header"
             android:layout_width="match_parent"
             android:layout_height="40dp"
-            android:layout_marginTop="32dp"></RelativeLayout>
+            android:layout_marginTop="42dp"></RelativeLayout>
 
     <include
             layout="@layout/main_frame_layout"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:layout_marginTop="72dp"
+            android:layout_marginTop="82dp"
             android:layout_marginBottom="@dimen/bottom_height"/>
 
 

+ 93 - 73
app/src/main/res/layout/act_main.xml

@@ -1,98 +1,118 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/main_layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <ImageView
-        android:src="@mipmap/home_blue_bg"
-        android:adjustViewBounds="true"
+<android.support.design.widget.CoordinatorLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:app="http://schemas.android.com/apk/res-auto"
+        android:id="@+id/main_layout"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content" />
+        android:layout_height="match_parent">
 
-    <RelativeLayout
-        android:id="@+id/main_header"
-        android:layout_width="match_parent"
-        android:layout_height="40dp"
-        android:layout_marginTop="32dp">
-    </RelativeLayout>
+    <ImageView
+            android:src="@mipmap/home_blue_bg"
+            android:adjustViewBounds="true"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"/>
+
+    <android.support.design.widget.AppBarLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+        <RelativeLayout
+                android:id="@+id/main_header"
+                android:layout_width="match_parent"
+                android:layout_height="40dp"
+                android:layout_marginTop="32dp">
+        </RelativeLayout>
+
+    </android.support.design.widget.AppBarLayout>
+
+    <android.support.v4.widget.NestedScrollView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            app:layout_behavior="@string/appbar_scrolling_view_behavior">
+        <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent">
+
+            <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:padding="@dimen/content_padding_24"
+                    android:background="@color/black"/>
+        </LinearLayout>
+
+    </android.support.v4.widget.NestedScrollView>
 
-    <include
-        layout="@layout/main_frame_layout"
-        android:layout_below="@+id/main_header"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_marginBottom="@dimen/bottom_height" />
 
     <LinearLayout
-        android:id="@+id/tab_container"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/bottom_height"
-        android:layout_alignParentBottom="true"
-        android:background="@color/white"
-        android:orientation="horizontal"
-        android:paddingTop="4dp">
+            android:id="@+id/tab_container"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/bottom_height"
+            android:layout_gravity="bottom"
+            android:layout_alignParentBottom="true"
+            android:background="@color/white"
+            android:orientation="horizontal"
+            android:paddingTop="4dp">
 
         <View
-            android:layout_width="0dp"
-            android:layout_height="@dimen/tab_height"
-            android:layout_weight="1" />
+                android:layout_width="0dp"
+                android:layout_height="@dimen/tab_height"
+                android:layout_weight="1"/>
 
         <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="@dimen/tab_height"
-            android:drawableTop="@drawable/drawable_selector_task"
-            android:gravity="center"
-            android:minWidth="@dimen/tab_width"
-            android:text="@string/tab_viewpager_gamestore"
-            android:textColor="@color/selector_color_main_tab"
-            android:textSize="10sp" />
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/tab_height"
+                android:drawableTop="@drawable/drawable_selector_task"
+                android:gravity="center"
+                android:minWidth="@dimen/tab_width"
+                android:text="@string/tab_viewpager_gamestore"
+                android:textColor="@color/selector_color_main_tab"
+                android:textSize="10sp"/>
 
         <View
-            android:layout_width="0dp"
-            android:layout_height="@dimen/tab_height"
-            android:layout_weight="2" />
-
+                android:layout_width="0dp"
+                android:layout_height="@dimen/tab_height"
+                android:layout_weight="2"/>
 
 
         <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="@dimen/tab_height"
-            android:drawableTop="@drawable/drawable_selector_askgetmoney"
-            android:gravity="center"
-            android:minWidth="@dimen/tab_width"
-            android:text="@string/mine_hoggerel"
-            android:textColor="@color/selector_color_main_tab"
-            android:textSize="10sp" />
-
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/tab_height"
+                android:drawableTop="@drawable/drawable_selector_askgetmoney"
+                android:gravity="center"
+                android:elevation="2dp"
+                android:minWidth="@dimen/tab_width"
+                android:text="@string/mine_hoggerel"
+                android:textColor="@color/selector_color_main_tab"
+                android:textSize="10sp"/>
 
 
         <View
-            android:layout_width="0dp"
-            android:layout_height="@dimen/tab_height"
-            android:layout_weight="2" />
+                android:layout_width="0dp"
+                android:layout_height="@dimen/tab_height"
+                android:layout_weight="2"/>
 
         <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="@dimen/tab_height"
-            android:drawableTop="@drawable/drawable_selector_personalcenter"
-            android:gravity="center"
-            android:minWidth="@dimen/tab_width"
-            android:text="@string/tab_viewpager_borrowplay"
-            android:textColor="@color/selector_color_main_tab"
-            android:textSize="10sp" />
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/tab_height"
+                android:drawableTop="@drawable/drawable_selector_personalcenter"
+                android:gravity="center"
+                android:minWidth="@dimen/tab_width"
+                android:text="@string/tab_viewpager_borrowplay"
+                android:textColor="@color/selector_color_main_tab"
+                android:textSize="10sp"/>
 
         <View
-            android:layout_width="0dp"
-            android:layout_height="@dimen/tab_height"
-            android:layout_weight="1" />
+                android:layout_width="0dp"
+                android:layout_height="@dimen/tab_height"
+                android:layout_weight="1"/>
     </LinearLayout>
 
     <View
-        android:id="@+id/tab_line"
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:layout_above="@+id/tab_container"
-        android:background="#AAe2e2e2" />
-
-</RelativeLayout>
+            android:id="@+id/tab_line"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:layout_gravity="bottom"
+            android:layout_marginBottom="34dp"
+            android:background="#AAe2e2e2"/>
+
+</android.support.design.widget.CoordinatorLayout>

+ 157 - 133
app/src/main/res/layout/fgt_main_header.xml

@@ -1,150 +1,174 @@
 <?xml version="1.0" encoding="utf-8"?>
-<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="40dp">
+<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="wrap_content"
+        android:gravity="center_vertical"
+        tools:background="@color/black">
 
-    <ImageView
-        android:id="@+id/iv_user_face"
-        android:layout_width="40dp"
-        android:layout_height="40dp"
-        android:layout_marginStart="@dimen/content_padding_16"
-        android:src="@drawable/avatar" />
+    <android.support.constraint.ConstraintLayout
+            android:id="@+id/cl_left"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent">
 
-    <View
-        android:id="@+id/v_red_dot"
-        android:layout_width="8dp"
-        android:layout_height="8dp"
-        android:layout_marginLeft="45dp"
-        android:background="@drawable/shape_oval_red"
-        android:visibility="visible" />
+        <ImageView
+                android:id="@+id/iv_user_face"
+                android:layout_width="40dp"
+                android:layout_height="40dp"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                android:layout_marginStart="@dimen/content_padding_16"
+                android:src="@drawable/avatar"/>
 
-    <TextView
-        android:id="@+id/tv_nickname"
-        android:layout_width="wrap_content"
-        android:layout_height="20dp"
-        android:layout_marginLeft="12dp"
-        android:layout_toRightOf="@+id/iv_user_face"
-        android:text="七天的绵羊"
-        android:textColor="@color/white"
-        android:textSize="14sp"
-        android:textStyle="bold" />
+        <View
+                android:id="@+id/v_red_dot"
+                android:layout_width="8dp"
+                android:layout_height="8dp"
+                android:background="@drawable/shape_oval_red"
+                android:visibility="visible"
+                app:layout_constraintEnd_toEndOf="@+id/iv_user_face"
+                app:layout_constraintTop_toTopOf="@+id/iv_user_face"/>
 
-    <TextView
-        android:id="@+id/tv_coin_flag"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignBottom="@+id/iv_user_face"
-        android:layout_marginLeft="12dp"
-        android:layout_toRightOf="@+id/iv_user_face"
-        android:text="绵羊币:"
-        android:textColor="@color/white"
-        android:textSize="11sp" />
+        <TextView
+                android:id="@+id/tv_nickname"
+                android:layout_width="wrap_content"
+                android:layout_height="20dp"
+                android:layout_marginStart="12dp"
+                android:layout_toRightOf="@+id/iv_user_face"
+                android:text="七天的绵羊"
+                android:textColor="@color/white"
+                android:textSize="14sp"
+                android:textStyle="bold"
+                app:layout_constraintStart_toEndOf="@+id/iv_user_face"
+                app:layout_constraintTop_toTopOf="@+id/iv_user_face"/>
 
-    <TextView
-        android:id="@+id/tv_user_asset"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignBottom="@+id/iv_user_face"
-        android:layout_marginLeft="4dp"
-        android:layout_toRightOf="@+id/tv_coin_flag"
-        android:text="****"
-        android:textColor="@color/white"
-        android:textSize="11sp"
-        android:textStyle="bold" />
+        <TextView
+                android:id="@+id/tv_coin_flag"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="8dp"
+                android:layout_alignBottom="@+id/iv_user_face"
+                android:layout_toRightOf="@+id/iv_user_face"
+                android:text="绵羊币:"
+                android:textColor="@color/white"
+                android:textSize="11sp"
+                app:layout_constraintTop_toBottomOf="@+id/tv_nickname"
+                app:layout_constraintStart_toStartOf="@+id/tv_nickname"/>
 
-    <ImageView
-        android:id="@+id/show_hide_pwd_btn"
-        android:layout_width="25dp"
-        android:layout_height="wrap_content"
-        android:layout_below="@+id/tv_nickname"
-        android:layout_marginLeft="6dp"
-        android:layout_marginTop="4dp"
-        android:layout_toRightOf="@+id/tv_user_asset"
-        android:adjustViewBounds="true"
-        android:padding="3dp"
-        android:src="@mipmap/pwd_hide"
-        android:tint="#D2EFFB" />
+        <TextView
+                android:id="@+id/tv_user_asset"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="8dp"
+                android:layout_alignBottom="@+id/iv_user_face"
+                android:layout_toRightOf="@+id/tv_coin_flag"
+                android:text="****"
+                android:textColor="@color/white"
+                android:textSize="11sp"
+                android:textStyle="bold"
+                app:layout_constraintStart_toEndOf="@+id/tv_coin_flag"
+                app:layout_constraintTop_toTopOf="@+id/tv_coin_flag"
+                app:layout_constraintBottom_toBottomOf="@+id/tv_coin_flag"
+                app:layout_constraintHorizontal_bias="0.526"
+                app:layout_constraintVertical_bias="0.0"/>
 
-    <ImageView
-        android:id="@+id/iv_flag_vip"
-        android:layout_width="28dp"
-        android:layout_height="13dp"
-        android:layout_marginLeft="@dimen/content_padding_4"
-        android:layout_marginTop="4dp"
-        android:layout_toRightOf="@+id/tv_nickname"
-        android:src="@mipmap/level_vip" />
+        <ImageView
+                android:id="@+id/show_hide_pwd_btn"
+                android:layout_width="18dp"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="4dp"
+                android:layout_below="@+id/tv_nickname"
+                android:layout_toRightOf="@+id/tv_user_asset"
+                android:adjustViewBounds="true"
+                android:padding="3dp"
+                android:src="@mipmap/pwd_hide"
+                android:tint="@color/white"
+                app:layout_constraintStart_toEndOf="@+id/tv_user_asset"
+                app:layout_constraintTop_toTopOf="@+id/tv_user_asset"
+                app:layout_constraintBottom_toBottomOf="@+id/tv_user_asset"/>
 
-    <ImageView
-        android:id="@+id/iv_msg"
-        android:layout_width="40dp"
-        android:layout_height="40dp"
-        android:layout_alignParentEnd="true"
-        android:layout_marginEnd="8dp"
-        android:padding="10dp"
-        android:src="@mipmap/ic_msg"
-        android:tint="@color/white" />
+        <ImageView
+                android:id="@+id/iv_flag_vip"
+                android:layout_width="28dp"
+                android:layout_height="13dp"
+                android:layout_toRightOf="@+id/tv_nickname"
+                android:src="@mipmap/level_vip"
+                app:layout_constraintStart_toStartOf="@+id/iv_user_face"
+                app:layout_constraintEnd_toEndOf="@+id/iv_user_face"
+                app:layout_constraintBottom_toBottomOf="@+id/iv_user_face"/>
+
+    </android.support.constraint.ConstraintLayout>
+
+    <View
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_weight="1"/>
 
     <TextView
-        android:id="@+id/tv_msg_count"
-        android:layout_width="wrap_content"
-        android:layout_height="14dp"
-        android:layout_alignParentEnd="true"
-        android:layout_marginTop="8dp"
-        android:layout_marginEnd="8dp"
-        android:background="@drawable/shape_f81b5f_rec_7"
-        android:gravity="center"
-        android:minWidth="14dp"
-        android:paddingStart="4dp"
-        android:paddingEnd="4dp"
-        android:text="0"
-        android:textColor="@color/white"
-        android:textSize="9sp" />
+            android:id="@+id/tv_download_count"
+            android:layout_width="wrap_content"
+            android:layout_height="14dp"
+            android:layout_alignParentEnd="true"
+            android:background="@drawable/shape_f81b5f_rec_7"
+            android:gravity="center"
+            android:minWidth="14dp"
+            android:paddingStart="4dp"
+            android:paddingEnd="4dp"
+            android:text="0"
+            android:textColor="@color/white"
+            android:textSize="10dp"/>
 
     <TextView
-        android:id="@+id/tv_download_count"
-        android:layout_width="wrap_content"
-        android:layout_height="14dp"
-        android:layout_alignParentEnd="true"
-        android:layout_marginTop="8dp"
-        android:layout_marginEnd="50dp"
-        android:background="@drawable/shape_f81b5f_rec_7"
-        android:gravity="center"
-        android:minWidth="14dp"
-        android:paddingStart="4dp"
-        android:paddingEnd="4dp"
-        android:text="0"
-        android:textColor="@color/white"
-        android:textSize="9sp" />
+            android:id="@+id/tv_msg_count"
+            android:layout_width="wrap_content"
+            android:layout_height="14dp"
+            android:layout_alignParentEnd="true"
+            android:background="@drawable/shape_f81b5f_rec_7"
+            android:gravity="center"
+            android:minWidth="14dp"
+            android:paddingStart="4dp"
+            android:paddingEnd="4dp"
+            android:text="0"
+            android:textColor="@color/white"
+            android:textSize="9sp"/>
 
     <ImageView
-        android:id="@+id/iv_download"
-        android:layout_width="40dp"
-        android:layout_height="40dp"
-        android:layout_alignParentEnd="true"
-        android:layout_marginEnd="48dp"
-        android:padding="10dp"
-        android:src="@drawable/drawable_selector_ic_home_download"
-        android:tint="@color/white" />
+            android:id="@+id/iv_search"
+            android:layout_width="32dp"
+            android:layout_height="32dp"
+            android:layout_marginEnd="16dp"
+            android:src="@drawable/drawable_selector_ic_home_search"
+            android:padding="6dp"
+            android:tint="@color/white"/>
 
-    <ImageView
-        android:id="@+id/iv_search"
-        android:layout_width="40dp"
-        android:layout_height="40dp"
-        android:layout_alignParentEnd="true"
-        android:layout_marginEnd="90dp"
-        android:padding="10dp"
-        android:src="@drawable/drawable_selector_ic_home_search"
-        android:tint="@color/white" />
+    <FrameLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="14dp">
 
-    <ImageView
-        android:id="@+id/iv_scan"
-        android:layout_width="40dp"
-        android:layout_height="40dp"
-        android:layout_alignParentEnd="true"
-        android:layout_marginEnd="140dp"
-        android:padding="10dp"
-        android:src="@mipmap/scan"
-        android:tint="@color/white" />
-
-</RelativeLayout>
+        <ImageView
+                android:id="@+id/iv_menu"
+                android:layout_width="32dp"
+                android:layout_height="32dp"
+                android:layout_gravity="end"
+                android:scaleType="center"
+                android:src="@drawable/zhedie"
+                android:tint="@color/white"/>
+
+        <View
+                android:id="@+id/v_red_dot_menu"
+                android:layout_width="4dp"
+                android:layout_height="4dp"
+                android:layout_gravity="end"
+                android:layout_margin="6dp"
+                android:background="@drawable/shape_oval_red"
+                android:visibility="visible"/>
+
+    </FrameLayout>
+
+
+</LinearLayout>

+ 3 - 1
app/src/main/res/layout/fragment_sign_in.xml

@@ -124,7 +124,9 @@
                         android:layout_marginEnd="12dp"
                         android:padding="7dp"
                         android:src="@mipmap/pwd_hide"
-                        android:tint="@color/bg_line" app:layout_constraintEnd_toEndOf="@+id/password_box" app:layout_constraintBottom_toBottomOf="@+id/password_box"
+                        android:tint="@color/bg_line"
+                        app:layout_constraintEnd_toEndOf="@+id/password_box"
+                        app:layout_constraintBottom_toBottomOf="@+id/password_box"
                         app:layout_constraintTop_toTopOf="@+id/password_box"/>
 
             </android.support.constraint.ConstraintLayout>

+ 163 - 0
app/src/main/res/layout/pop_home_menu.xml

@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        xmlns:app="http://schemas.android.com/apk/res-auto"
+        android:orientation="vertical">
+
+    <ImageView
+            android:id="@+id/iv_arrow"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            android:layout_marginEnd="18dp"
+            app:layout_constraintEnd_toEndOf="@id/cl_content"
+            android:src="@drawable/zhixiang"/>
+
+    <android.support.constraint.ConstraintLayout
+            android:id="@+id/cl_content"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:backgroundTint="#282828"
+            app:layout_constraintTop_toBottomOf="@id/iv_arrow"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            android:background="@drawable/bg_corner_12dp">
+
+        <ImageView
+                android:id="@+id/iv_msg"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginStart="24dp"
+                android:layout_marginTop="12dp"
+                android:layout_marginBottom="12dp"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                android:src="@mipmap/ic_msg"/>
+
+        <TextView
+                android:id="@+id/tv_msg_count"
+                android:layout_width="wrap_content"
+                android:layout_height="14dp"
+                android:layout_alignParentEnd="true"
+                android:background="@drawable/shape_f81b5f_rec_7"
+                android:gravity="center"
+                android:minWidth="14dp"
+                android:paddingStart="4dp"
+                android:paddingEnd="4dp"
+                android:text="0"
+                android:textColor="@color/white"
+                android:textSize="10dp"
+                app:layout_constraintEnd_toEndOf="@+id/iv_msg"
+                app:layout_constraintTop_toTopOf="@+id/iv_msg"/>
+
+        <TextView
+                android:id="@+id/tv_msg"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="消息记录"
+                android:paddingStart="24dp"
+                android:paddingTop="8dp"
+                android:paddingBottom="8dp"
+                android:textSize="16dp"
+                android:textColor="@color/white"
+                android:paddingEnd="24dp"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/iv_msg"
+                app:layout_constraintBottom_toBottomOf="@+id/iv_msg"
+                app:layout_constraintTop_toTopOf="@+id/iv_msg"/>
+
+        <View
+                android:id="@+id/view_split_msg"
+                android:layout_width="0dp"
+                android:layout_height="1dp"
+                android:layout_marginTop="12dp"
+                app:layout_constraintTop_toBottomOf="@id/iv_msg"
+                android:background="#353535"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"/>
+
+        <ImageView
+                android:id="@+id/iv_scan"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginStart="24dp"
+                android:layout_marginTop="12dp"
+                android:layout_marginBottom="12dp"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/view_split_msg"
+                android:src="@mipmap/scan"/>
+
+        <TextView
+                android:id="@+id/tv_scan"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:text="扫一扫"
+                android:paddingStart="24dp"
+                android:textSize="16dp"
+                android:paddingTop="8dp"
+                android:paddingBottom="8dp"
+                android:textColor="@color/white"
+                app:layout_constraintBottom_toBottomOf="@+id/iv_scan"
+                app:layout_constraintTop_toTopOf="@+id/iv_scan"
+                app:layout_constraintStart_toStartOf="@+id/tv_msg"
+                app:layout_constraintEnd_toEndOf="parent"/>
+
+        <View
+                android:id="@+id/view_split_scan"
+                android:layout_width="0dp"
+                android:layout_height="1dp"
+                android:layout_marginTop="12dp"
+                app:layout_constraintTop_toBottomOf="@id/iv_scan"
+                android:background="#353535"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"/>
+
+        <ImageView
+                android:id="@+id/iv_download"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginStart="24dp"
+                android:layout_marginTop="12dp"
+                android:layout_marginBottom="12dp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/view_split_scan"
+                android:src="@drawable/drawable_selector_ic_home_download"/>
+
+        <TextView
+                android:id="@+id/tv_download_count"
+                android:layout_width="wrap_content"
+                android:layout_height="14dp"
+                android:layout_alignParentEnd="true"
+                android:background="@drawable/shape_f81b5f_rec_7"
+                android:gravity="center"
+                android:minWidth="14dp"
+                android:paddingStart="4dp"
+                android:paddingEnd="4dp"
+                android:text="0"
+                android:textColor="@color/white"
+                android:textSize="10dp"
+                app:layout_constraintTop_toTopOf="@+id/iv_download"
+                app:layout_constraintEnd_toEndOf="@+id/iv_download"/>
+
+        <TextView
+                android:id="@+id/tv_download_center"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:text="下载中心"
+                android:paddingStart="24dp"
+                android:paddingTop="8dp"
+                android:paddingBottom="8dp"
+                android:textSize="16dp"
+                android:textColor="@color/white"
+                app:layout_constraintBottom_toBottomOf="@+id/iv_download"
+                app:layout_constraintTop_toTopOf="@+id/iv_download"
+                app:layout_constraintStart_toStartOf="@+id/tv_scan"
+                app:layout_constraintEnd_toEndOf="parent"/>
+
+    </android.support.constraint.ConstraintLayout>
+
+</android.support.constraint.ConstraintLayout>