Explorar el Código

提交分类: 测试版本;
提交内容: 修改密码UI搭建
当前版本: 测试版本6.2.9
是否冲突: 否

raomeng hace 7 años
padre
commit
d2ea67d270

+ 1 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -52,6 +52,7 @@ import com.core.api.wxapi.ApiUtils;
 import com.core.app.AppConfig;
 import com.core.app.AppConstant;
 import com.core.app.MyApplication;
+import com.core.base.SupportToolBarActivity;
 import com.core.broadcast.MsgBroadcast;
 import com.core.dao.SignAutoLogDao;
 import com.core.dao.UserDao;
@@ -76,7 +77,6 @@ import com.core.xmpp.listener.AuthStateListener;
 import com.core.xmpp.model.SignAutoLogEntity;
 import com.modular.appmessages.presenter.MessagePresenter;
 import com.modular.apptasks.presenter.AutoPresenter;
-import com.core.base.SupportToolBarActivity;
 import com.modular.login.activity.LoginActivity;
 import com.uas.appcontact.listener.ImStatusListener;
 import com.uas.appcontact.ui.fragment.ContactsFragment;
@@ -266,7 +266,6 @@ public class MainActivity extends SupportToolBarActivity implements ImStatusList
     private DivideRadioGroup.OnCheckedChangeListener mTabRadioGroupChangeListener = new DivideRadioGroup.OnCheckedChangeListener() {
         @Override
         public void onCheckedChanged(DivideRadioGroup group, int checkedId) {
-            getSupportActionBar().show();
             if (checkedId == R.id.main_tab_one) {
                 if (mMessageFragment == null) {
                     mMessageFragment = new MessageFragment();
@@ -295,7 +294,6 @@ public class MainActivity extends SupportToolBarActivity implements ImStatusList
                 if (mWorksFragment == null) {
                     mWorksFragment = new WorkPlatFragment();
                 }
-                getSupportActionBar().hide();
                 changeFragment(mWorksFragment, TAG_NEARBY);
                 String role = com.core.utils.CommonUtil.getUserRole();
                 if (role.equals("2")) {

+ 2 - 18
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/WorkPlatFragment.java

@@ -6,9 +6,6 @@ import android.support.v7.widget.Toolbar;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
@@ -27,6 +24,7 @@ import com.core.api.wxapi.ApiUtils;
 import com.core.app.Constants;
 import com.core.app.MyApplication;
 import com.core.base.fragment.BaseMVPFragment;
+import com.core.utils.StatusBarUtil;
 import com.me.network.app.base.HttpParams;
 import com.me.network.app.http.Method;
 import com.scwang.smartrefresh.layout.api.RefreshFooter;
@@ -83,7 +81,6 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
     @Override
     protected void initViews() {
         if (isFirstLoad) {
-            setHasOptionsMenu(true);
             isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
             mWorkMenuListView = $(R.id.work_menu_lv);
             mRefreshLayout = $(R.id.fragment_work_refreshLayout);
@@ -91,6 +88,7 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
             mMasterTextView = $(R.id.work_plat_master_name_tv);
             mFuncImageView = $(R.id.work_plat_func_set_iv);
             mToolbar = $(R.id.work_plat_main_toolbar);
+            StatusBarUtil.setPaddingSmart(mContext, mToolbar);
 
             ViewGroup.LayoutParams layoutParams = mHeaderImageView.getLayoutParams();
             mHeaderHeight = layoutParams.height;
@@ -296,20 +294,6 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
         }
     }
 
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        super.onCreateOptionsMenu(menu, inflater);
-        inflater.inflate(R.menu.menu_work_plat_set, menu);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        if (item.getItemId() == R.id.work_plat_set_iv) {
-            startActivityForResult("com.modular.work.WorkFuncSetActivity", Constants.WORK_FUNC_SET);
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (resultCode == Constants.WORK_MODULE_SORT_REQUEST || resultCode == Constants.WORK_FUNC_SET) {

+ 2 - 2
WeiChat/src/main/res/layout/fragment_work.xml

@@ -23,7 +23,7 @@
         <android.support.v7.widget.Toolbar
             android:id="@+id/work_plat_main_toolbar"
             android:layout_width="match_parent"
-            android:layout_height="56dp">
+            android:layout_height="?attr/actionBarSize">
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -37,7 +37,7 @@
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
                     android:textColor="@color/white"
-                    android:textSize="16sp"
+                    android:textSize="18sp"
                     tools:text="英唐集团" />
 
                 <ImageView

+ 3 - 0
app_core/common/src/main/java/com/core/base/SupportToolBarActivity.java

@@ -14,6 +14,7 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewStub;
 import android.widget.FrameLayout;
+import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import com.core.app.R;
@@ -26,6 +27,7 @@ import com.core.utils.ToastUtil;
 
 public class SupportToolBarActivity extends BaseActivity {
     private FrameLayout contentFl;
+    private LinearLayout windowView;
     private Toolbar commonToolBar;
     private TextView commonTitleTv;
 
@@ -34,6 +36,7 @@ public class SupportToolBarActivity extends BaseActivity {
         super.onCreate(savedInstanceState);
         super.setContentView(R.layout.base_bar_layout);
         contentFl = findViewById(R.id.contentFl);
+        windowView = findViewById(R.id.windowLl);
         if (needCommonToolBar()) {
             initCommonToolbar();
         }

+ 117 - 1
app_core/common/src/main/java/com/core/widget/StrengthView.java

@@ -1,11 +1,127 @@
 package com.core.widget;
 
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.support.annotation.Nullable;
+import android.util.AttributeSet;
 import android.view.View;
 
 /**
  * @author RaoMeng
- * @describe
+ * @describe 密码强度
  * @date 2018/5/6 21:38
  */
 public class StrengthView extends View {
+
+    public enum Level {
+        STRENGTH_NONE("无", Color.GRAY, 0), STRENGTH_WEAK("低", Color.RED, 1), STRENGTH_MEDIUM("中", Color.YELLOW, 2), STRENGTH_STRONG("高", Color.GREEN, 3);
+        String levelStr;
+        int levelColor;
+        int index;
+
+        Level(String levelStr, int levelColor, int index) {
+            this.levelStr = levelStr;
+            this.levelColor = levelColor;
+            this.index = index;
+        }
+    }
+
+    private int mTextSize = 40;
+    private Level mLevel;//强度等级
+    private Paint mPaint;
+    float levelWidth = 80;
+    float gap = 30;
+    float levelHeight = 20;
+    float textPadding = 20;
+    // 文字尺寸
+    private float mTextWidth;
+    private float mTextHeight;
+
+    public Level getLevel() {
+        return mLevel;
+    }
+
+    public void setLevel(Level level) {
+        mLevel = level;
+        invalidate();
+    }
+
+    public StrengthView(Context context) {
+        this(context, null, 0);
+    }
+
+    public StrengthView(Context context, @Nullable AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public StrengthView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initStrengthView(context, attrs, defStyleAttr);
+    }
+
+    private void initStrengthView(Context context, AttributeSet attrs, int defStyleAttr) {
+        mLevel = Level.STRENGTH_NONE;
+        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+        mPaint.setTextSize(mTextSize);
+        Rect rect = new Rect();
+        mPaint.getTextBounds(Level.STRENGTH_NONE.levelStr, 0, Level.STRENGTH_NONE.levelStr.length(), rect);
+        mTextWidth = rect.width();
+        mTextHeight = rect.height();
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int measuredWidth;
+        int measuredHeight;
+        int widthMode = MeasureSpec.getMode(widthMeasureSpec);
+        int widthSize = MeasureSpec.getSize(widthMeasureSpec);
+        int heightMode = MeasureSpec.getMode(heightMeasureSpec);
+        int heightSize = MeasureSpec.getSize(heightMeasureSpec);
+        measuredWidth = widthMode == MeasureSpec.EXACTLY ? widthSize : ((int) (getPaddingLeft() + getPaddingRight() + mTextWidth + (Level.values().length - 1) * levelWidth + (Level.values().length - 2) * gap + textPadding));
+        measuredHeight = heightMode == MeasureSpec.EXACTLY ? heightSize : ((int) (getPaddingTop() + getPaddingBottom() + mTextHeight));
+        // 固定套路,保存控件宽高值
+        setMeasuredDimension(measuredWidth, measuredHeight);
+    }
+
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+
+        int currentIndex = mLevel == null ? 0 : mLevel.index;
+        float startLeft = getPaddingLeft();
+
+        int levelCount = Level.values().length - 1;
+        for (int i = 1; i <= levelCount; i++) {
+            if (i > currentIndex) {
+                mPaint.setColor(Level.STRENGTH_NONE.levelColor);
+            } else {
+                mPaint.setColor(Level.values()[i].levelColor);
+            }
+
+            canvas.drawRect(startLeft, getPaddingTop(), startLeft + levelWidth, getPaddingTop() + levelHeight, mPaint);
+            startLeft += levelWidth;
+            if (i != levelCount) {
+                mPaint.setColor(Color.WHITE);
+                canvas.drawRect(startLeft, getPaddingTop(), startLeft + gap, getPaddingTop() + levelHeight, mPaint);
+                startLeft += gap;
+            }
+        }
+
+        mPaint.setColor(Color.BLACK);
+        mPaint.setTextSize(mTextSize);
+        String levelText = mLevel == null ? Level.STRENGTH_NONE.levelStr : mLevel.levelStr;
+        // 计算text的baseline
+        Paint.FontMetrics fontMetrics = mPaint.getFontMetrics();
+        // baseline思路:先设为控件的水平中心线,再调整到文本区域的水平中心线上
+        // fontMetrics的top/bottom/ascent/descent属性值,是基于baseline为原点的,上方为负值,下方为正!
+        float baseLine =
+                getPaddingTop()
+                        + levelHeight / 2
+                        + ((Math.abs(fontMetrics.ascent) + Math.abs(fontMetrics.descent)) / 2 - Math.abs(fontMetrics.descent));
+        canvas.drawText(levelText, startLeft + textPadding, baseLine, mPaint);
+    }
 }

+ 3 - 1
app_core/common/src/main/res/layout/base_bar_layout.xml

@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout
+    android:id="@+id/windowLl"
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">

+ 10 - 1
app_modular/applogin/src/main/java/com/modular/login/activity/ModifyPasswordPhoneActivity.java

@@ -1,11 +1,13 @@
 package com.modular.login.activity;
 
+import android.view.View;
 import android.widget.TextView;
 
 import com.core.base.activity.BaseMVPActivity;
 import com.core.base.presenter.SimplePresenter;
 import com.core.base.view.SimpleView;
 import com.core.widget.ClearEditText;
+import com.core.widget.StrengthView;
 import com.modular.login.R;
 
 /**
@@ -16,6 +18,7 @@ import com.modular.login.R;
 public class ModifyPasswordPhoneActivity extends BaseMVPActivity<SimplePresenter> implements SimpleView {
     private ClearEditText mPhoneEditText, mCodeEditText, mPasswordEditText, mPasswordConfirmEditText;
     private TextView mObtainCodeTextView, mConfirmButton;
+    private StrengthView mStrengthView;
 
     @Override
     protected int getLayout() {
@@ -32,6 +35,7 @@ public class ModifyPasswordPhoneActivity extends BaseMVPActivity<SimplePresenter
         mPasswordConfirmEditText = $(R.id.modify_password_phone_password_confirm_et);
         mObtainCodeTextView = $(R.id.modify_password_phone_code_btn);
         mConfirmButton = $(R.id.modify_password_phone_confirm_tv);
+        mStrengthView = $(R.id.modify_password_phone_strength_sv);
     }
 
     @Override
@@ -41,7 +45,12 @@ public class ModifyPasswordPhoneActivity extends BaseMVPActivity<SimplePresenter
 
     @Override
     protected void initEvent() {
-
+        mConfirmButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mStrengthView.setLevel(StrengthView.Level.STRENGTH_MEDIUM);
+            }
+        });
     }
 
     @Override

+ 8 - 1
app_modular/applogin/src/main/res/layout/activity_modify_password_phone.xml

@@ -98,10 +98,17 @@
             android:textColor="@color/black" />
     </LinearLayout>
 
+    <com.core.widget.StrengthView
+        android:id="@+id/modify_password_phone_strength_sv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingBottom="8dp"
+        android:paddingLeft="10dp"
+        android:paddingTop="8dp" />
+
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="8dp"
         android:background="@drawable/shape_gray_slight_corner_white_bg"
         android:gravity="center_vertical"
         android:orientation="horizontal">