Browse Source

优化流程 兼职收缩状态完善

ZhangXinYu 6 years atrás
parent
commit
2a123ca072

+ 18 - 0
app/src/main/java/com/webrain/dailypay/ui/fragment/PositionFragment.java

@@ -1,7 +1,9 @@
 package com.webrain.dailypay.ui.fragment;
 
 import android.annotation.SuppressLint;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.support.annotation.DrawableRes;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.view.Gravity;
@@ -37,6 +39,7 @@ import org.greenrobot.eventbus.Subscribe;
 
 import java.util.List;
 
+import butterknife.BindDrawable;
 import butterknife.BindView;
 import butterknife.OnClick;
 
@@ -60,6 +63,10 @@ public class PositionFragment extends BaseFragment<PositionFragmentPresenter> im
     RadioGroup rgState;
     @BindView(R.id.ll_authentication)
     LinearLayout llAuthentication;
+    @BindDrawable(R.mipmap.ic_arrow_white_right)
+    Drawable idDown;
+    @BindDrawable(R.mipmap.ic_arrow_gray_right)
+    Drawable idRight;
 
     private FooterViewHolder mFooterHolder;
     private PositionListAdapter mAdapter;
@@ -192,19 +199,30 @@ public class PositionFragment extends BaseFragment<PositionFragmentPresenter> im
             switch (checkedId) {
                 case R.id.tb_all:
                     mvpPresenter.changeAllState();
+                    idRight.setBounds(0, 0, idRight.getMinimumWidth(), idRight.getMinimumHeight());
+                    tbState.setCompoundDrawables(idRight, null, null, null);
                     break;
                 case R.id.tb_start:
                     mvpPresenter.changeStartState();
+                    idRight.setBounds(0, 0, idRight.getMinimumWidth(), idRight.getMinimumHeight());
+                    tbState.setCompoundDrawables(idRight, null, null, null);
                     break;
                 case R.id.tb_pause:
                     mvpPresenter.changePauseState();
+                    idRight.setBounds(0, 0, idRight.getMinimumWidth(), idRight.getMinimumHeight());
+                    tbState.setCompoundDrawables(idRight, null, null, null);
                     break;
                 case R.id.tb_over:
                     mvpPresenter.changeOverState();
+                    idRight.setBounds(0, 0, idRight.getMinimumWidth(), idRight.getMinimumHeight());
+                    tbState.setCompoundDrawables(idRight, null, null, null);
                     break;
                 case R.id.tb_state:
+                    idDown.setBounds(0, 0, idDown.getMinimumWidth(), idDown.getMinimumHeight());
+                    tbState.setCompoundDrawables(idDown, null, null, null);
                     break;
             }
+
         }
     };
 

+ 39 - 5
app/src/main/java/com/webrain/dailypay/ui/fragment/position/PositionPartReleaseFragment.java

@@ -2,6 +2,7 @@ package com.webrain.dailypay.ui.fragment.position;
 
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -38,6 +39,7 @@ import com.webrain.dailypay.utils.BaseInformationUtils;
 import java.util.ArrayList;
 import java.util.List;
 
+import butterknife.BindDrawable;
 import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnClick;
@@ -150,7 +152,10 @@ public class PositionPartReleaseFragment extends BaseFragment<PositionPartReleas
     RadioButton rbFemale;
     @BindView(R.id.rb_normal)
     RadioButton rbNormal;
-
+    @BindDrawable(R.mipmap.ic_position_release_remove)
+    Drawable dRemove;
+    @BindDrawable(R.mipmap.ic_position_release_add)
+    Drawable dAdd;
 
     @Override
     protected int getLayoutId() {
@@ -168,6 +173,10 @@ public class PositionPartReleaseFragment extends BaseFragment<PositionPartReleas
         salWorkTime.initExpand(false);
         salRecruitmentDeadline.initExpand(false);
         salEducationalRequirement.initExpand(false);
+        salAgain.initExpand(false);
+        salMore.initExpand(false);
+        salAgain.setOnAnimationListener(onAgainAnimationListener);
+        salMore.setOnAnimationListener(onMoreAnimationListener);
         mvpPresenter.init();
         return view;
     }
@@ -260,12 +269,37 @@ public class PositionPartReleaseFragment extends BaseFragment<PositionPartReleas
     }
 
     /**
-     * 工作地址回调
+     * 动画结束回调
+     */
+    ShrinkAnimationLayout.OnAnimationListener onAgainAnimationListener = new ShrinkAnimationLayout.OnAnimationListener() {
+        @Override
+        public void onFinish(boolean isShow) {
+            if (isShow) {
+                dRemove.setBounds(0, 0, dRemove.getMinimumWidth(), dRemove.getMinimumHeight());
+                tvInformationAgain.setCompoundDrawables(dRemove, null, null, null);
+                tvInformationAgain.setText(R.string.position_click_close_all_information);
+            } else {
+                dAdd.setBounds(0, 0, dAdd.getMinimumWidth(), dAdd.getMinimumHeight());
+                tvInformationAgain.setCompoundDrawables(dAdd, null, null, null);
+                tvInformationAgain.setText(R.string.position_click_open_all_information);
+            }
+        }
+    };
+    /**
+     * 动画结束回调
      */
-    WorkAddressHolder.OnAddressChangeListener onAddressChangeListener = new WorkAddressHolder.OnAddressChangeListener() {
+    ShrinkAnimationLayout.OnAnimationListener onMoreAnimationListener = new ShrinkAnimationLayout.OnAnimationListener() {
         @Override
-        public void onChange(String address) {
-            tvWorkAddress.setText(address);
+        public void onFinish(boolean isShow) {
+            if (isShow) {
+                dRemove.setBounds(0, 0, dRemove.getMinimumWidth(), dRemove.getMinimumHeight());
+                tvInformationMore.setCompoundDrawables(dRemove, null, null, null);
+                tvInformationMore.setText(R.string.position_click_close_all_information);
+            } else {
+                dAdd.setBounds(0, 0, dAdd.getMinimumWidth(), dAdd.getMinimumHeight());
+                tvInformationMore.setCompoundDrawables(dAdd, null, null, null);
+                tvInformationMore.setText(R.string.position_click_open_all_information);
+            }
         }
     };
 

+ 2 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/presenter/IdentityResultPresenter.java

@@ -31,8 +31,10 @@ public class IdentityResultPresenter extends BasePresenter<IdentityResultActivit
     public void goAuthentication() {
         if (mIdentityResultModel.getType() == AppConstant.APPROVE_COMPANY) {
             mvpReference.get().startActivity(new Intent(mvpReference.get(), IdentityCompanyActivity.class));
+            mvpReference.get().finish();
         } else if (mIdentityResultModel.getType() == AppConstant.APPROVE_PERSONAL) {
             mvpReference.get().startActivity(new Intent(mvpReference.get(), IdentityRecruitersActivity.class));
+            mvpReference.get().finish();
         }
     }
 }

+ 1 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/presenter/PositionFragmentPresenter.java

@@ -111,6 +111,7 @@ public class PositionFragmentPresenter extends BasePresenter<PositionFragment> i
             if (AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus() != AppConstant.APPROVE_SUCCESS) {
                 mvpReference.get().onNoRealAuthentication(AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus());
             } else {
+                mvpReference.get().onNoRealAuthentication(AppCacheManager.getInstance().getLoginModel().getAuthenticationStatus());
                 if (!mPositionListFragmentModel.isInit())
                     getHttpPositionList(false, false, true);
             }

+ 11 - 0
app/src/main/java/com/webrain/dailypay/ui/widget/ShrinkAnimationLayout.java

@@ -29,6 +29,7 @@ public class ShrinkAnimationLayout extends LinearLayout {
     private boolean isInitShow;
     private long animationDuration;
     private boolean isAnimation; //是否正在动画中
+    private OnAnimationListener onAnimationListener;
 
     private void initView() {
         layoutView = this;
@@ -54,6 +55,10 @@ public class ShrinkAnimationLayout extends LinearLayout {
         this.animationDuration = animationDuration;
     }
 
+    public void setOnAnimationListener(OnAnimationListener onAnimationListener) {
+        this.onAnimationListener = onAnimationListener;
+    }
+
     /**
      * 获取 subView 的总高度
      * View.post() 的 runnable 对象中的方法会在 View 的 measure、layout 等事件后触发
@@ -108,6 +113,9 @@ public class ShrinkAnimationLayout extends LinearLayout {
                     setViewHeight(layoutView, LayoutParams.WRAP_CONTENT);
                 //动画结束
                 isAnimation = false;
+                if (onAnimationListener != null) {
+                    onAnimationListener.onFinish(isExpand);
+                }
             }
 
             @Override
@@ -161,5 +169,8 @@ public class ShrinkAnimationLayout extends LinearLayout {
         }
     }
 
+    public interface OnAnimationListener {
+        void onFinish(boolean isShow);
+    }
 
 }

+ 4 - 4
app/src/main/res/layout/view_flipper_position_part_release_two.xml

@@ -450,9 +450,9 @@
                             android:id="@+id/tv_information_again"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:drawableLeft="@mipmap/ic_position_release_remove"
+                            android:drawableLeft="@mipmap/ic_position_release_add"
                             android:drawablePadding="9dp"
-                            android:text="@string/position_click_close_all_information"
+                            android:text="@string/position_click_open_all_information"
                             android:textColor="@color/white"
                             android:textSize="@dimen/px33_11sp" />
                     </LinearLayout>
@@ -709,9 +709,9 @@
                             android:id="@+id/tv_information_more"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:drawableLeft="@mipmap/ic_position_release_remove"
+                            android:drawableLeft="@mipmap/ic_position_release_add"
                             android:drawablePadding="9dp"
-                            android:text="@string/position_click_close_all_information"
+                            android:text="@string/position_click_open_all_information"
                             android:textColor="@color/white"
                             android:textSize="@dimen/px33_11sp" />
                     </LinearLayout>

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


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


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


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


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


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


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


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


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


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


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


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


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

@@ -144,6 +144,7 @@
     <string name="position_is_need_open_team_road">是否需要开启团队合作通道</string>
     <string name="position_team_tips">团队可帮助您寻找到更高效地寻找到优质目标岗位人选,也可帮您进行后续人力管理等。</string>
     <string name="position_click_close_all_information">点击收起全部岗位信息</string>
+    <string name="position_click_open_all_information">点击查看全部岗位信息</string>
     <string name="position_recruitment_deadline">招聘截止日期</string>
     <string name="position_recruitment_contact">招聘联系人</string>
     <string name="position_recruitment_contact_number">招聘联系电话</string>