Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
supplier
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王宇航
supplier
Commits
bfeeddea
Commit
bfeeddea
authored
Feb 25, 2020
by
王宇航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
登陸框修改
parent
52572e0b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
592 additions
and
512 deletions
+592
-512
public-base/src/main/java/com/gingersoft/gsa/cloud/ui/view/MyEditText.java
+475
-475
public-base/src/main/res/values/dimens.xml
+1
-1
user-login/src/main/java/com/gingersoft/gsa/cloud/user/login/mvp/ui/activity/LoginActivity.java
+69
-11
user-login/src/main/res/layout/user_login_activity_login.xml
+47
-25
No files found.
public-base/src/main/java/com/gingersoft/gsa/cloud/ui/view/MyEditText.java
View file @
bfeeddea
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
view
;
//
package com.gingersoft.gsa.cloud.ui.view;
//
import
android.content.Context
;
//
import android.content.Context;
import
android.content.res.TypedArray
;
//
import android.content.res.TypedArray;
import
android.graphics.drawable.Drawable
;
//
import android.graphics.drawable.Drawable;
import
android.text.Editable
;
//
import android.text.Editable;
import
android.text.InputFilter
;
//
import android.text.InputFilter;
import
android.text.Spanned
;
//
import android.text.Spanned;
import
android.text.TextUtils
;
//
import android.text.TextUtils;
import
android.text.TextWatcher
;
//
import android.text.TextWatcher;
import
android.text.method.HideReturnsTransformationMethod
;
//
import android.text.method.HideReturnsTransformationMethod;
import
android.text.method.PasswordTransformationMethod
;
//
import android.text.method.PasswordTransformationMethod;
import
android.util.AttributeSet
;
//
import android.util.AttributeSet;
import
android.view.View
;
//
import android.view.View;
import
android.view.ViewGroup
;
//
import android.view.ViewGroup;
import
android.widget.CheckBox
;
//
import android.widget.CheckBox;
import
android.widget.EditText
;
//
import android.widget.EditText;
import
android.widget.ImageView
;
//
import android.widget.ImageView;
import
android.widget.RelativeLayout
;
//
import android.widget.RelativeLayout;
import
android.widget.TextView
;
//
import android.widget.TextView;
import
android.widget.Toast
;
//
import android.widget.Toast;
//
import
com.gingersoft.gsa.cloud.base.R
;
//
import com.gingersoft.gsa.cloud.base.R;
import
com.gingersoft.gsa.cloud.base.utils.screen.ConvertDpAndPx
;
//
import com.gingersoft.gsa.cloud.base.utils.screen.ConvertDpAndPx;
//
import
java.util.ArrayList
;
//
import java.util.ArrayList;
import
java.util.List
;
//
import java.util.List;
//
/**
/
//
**
* Created by Wyh on 2019/12/19.
//
* Created by Wyh on 2019/12/19.
*/
//
*/
public
class
MyEditText
extends
RelativeLayout
{
//
public class MyEditText extends RelativeLayout {
//
private
Context
context
;
//
private Context context;
//輸入最大長度
//
//輸入最大長度
private
int
maxLeght
;
//
private int maxLeght;
//
private
String
maxLengthTip
;
//
private String maxLengthTip;
//是否顯示輸入最大字數限制
//
//是否顯示輸入最大字數限制
private
boolean
isShowMaxLenght
;
//
private boolean isShowMaxLenght;
private
int
maxLenghtTextColor
;
//
private int maxLenghtTextColor;
private
int
maxLenghtTextSize
;
//
private int maxLenghtTextSize;
private
int
maxTextMarginLeft
;
//
private int maxTextMarginLeft;
private
int
maxTextMarginRight
;
//
private int maxTextMarginRight;
private
int
maxTextMarginTop
;
//
private int maxTextMarginTop;
private
int
maxTextMarginBottom
;
//
private int maxTextMarginBottom;
//是否允許輸入表情
//
//是否允許輸入表情
private
boolean
isInputIcon
;
//
private boolean isInputIcon;
//輸入表情時提示的內容,不設置內容不提示
//
//輸入表情時提示的內容,不設置內容不提示
private
String
inputIconTipText
;
//
private String inputIconTipText;
//
private
String
hint
;
//
private String hint;
private
int
hintColor
;
//
private int hintColor;
private
int
edTextColor
;
//
private int edTextColor;
private
String
edText
;
//
private String edText;
private
int
edTextSize
;
//
private int edTextSize;
//清除按鈕的大小
//
//清除按鈕的大小
private
int
clearIconSiZe
;
//
private int clearIconSiZe;
//清除按鈕圖標
//
//清除按鈕圖標
private
Drawable
clearIcon
;
//
private Drawable clearIcon;
//清除按鈕右間距
//
//清除按鈕右間距
private
int
clearRightMargin
;
//
private int clearRightMargin;
//清除按鈕點擊事件
//
//清除按鈕點擊事件
private
OnClickListener
clearOnClickListener
;
//
private OnClickListener clearOnClickListener;
//
//查看密碼按鈕圖標兩種狀態
//
//查看密碼按鈕圖標兩種狀態
private
Drawable
lookIconUncheck
;
//
private Drawable lookIconUncheck;
//
private
Drawable
lookIconChecked
;
//
private Drawable lookIconChecked;
//
//"查看密碼"圖標的大小
//
//"查看密碼"圖標的大小
private
int
lookIconSiZe
;
//
private int lookIconSiZe;
//查看密碼按鈕右間距
//
//查看密碼按鈕右間距
private
int
lookRightMargin
;
//
private int lookRightMargin;
//查看密碼按鈕點擊事件
//
//查看密碼按鈕點擊事件
private
OnClickListener
lookOnClickListener
;
//
private OnClickListener lookOnClickListener;
//
private
int
btnMarginTop
;
//
private int btnMarginTop;
private
int
btnMarginRight
;
//
private int btnMarginRight;
private
int
btnMarginBottom
;
//
private int btnMarginBottom;
private
int
btnMarginLeft
;
//
private int btnMarginLeft;
//
//
//設置輸入密碼替換符
//
//設置輸入密碼替換符
private
String
pwdChar
;
//
private String pwdChar;
//是否換行
//
//是否換行
private
boolean
singleLine
;
//
private boolean singleLine;
//
private
int
inputType
;
//
private int inputType;
//
private
int
contentGravity
;
//
private int contentGravity;
//
private
int
btnGravity
;
//
private int btnGravity;
private
EditText
editText
;
//
private EditText editText;
//顯示最大字數的textview
//
//顯示最大字數的textview
private
TextView
maxLenghtTextView
;
//
private TextView maxLenghtTextView;
//
private
ImageView
ivClear
;
//
private ImageView ivClear;
private
CheckBox
ivLook
;
//
private CheckBox ivLook;
//
//
private
List
<
InputFilter
>
mInputFilter
=
new
ArrayList
<>();
//
private List<InputFilter> mInputFilter = new ArrayList<>();
//
private
AsteriskPasswordTransformationMethod
passwordTransformationMethod
;
//
private AsteriskPasswordTransformationMethod passwordTransformationMethod;
//
public
MyEditText
(
Context
context
)
{
//
public MyEditText(Context context) {
this
(
context
,
null
);
//
this(context, null);
}
//
}
//
public
MyEditText
(
Context
context
,
AttributeSet
attrs
)
{
//
public MyEditText(Context context, AttributeSet attrs) {
this
(
context
,
attrs
,
-
1
);
//R.attr.editTextStyle
//
this(context, attrs, -1);//R.attr.editTextStyle
}
//
}
//
public
MyEditText
(
Context
context
,
AttributeSet
attrs
,
int
defStyleAttr
)
{
//
public MyEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super
(
context
,
attrs
,
defStyleAttr
);
//
super(context, attrs, defStyleAttr);
this
.
context
=
context
;
//
this.context = context;
TypedArray
typedArray
=
context
.
obtainStyledAttributes
(
attrs
,
R
.
styleable
.
MyEditText
);
//
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyEditText);
maxLeght
=
typedArray
.
getInt
(
R
.
styleable
.
MyEditText_ed_MaxLength
,
0
);
//
maxLeght = typedArray.getInt(R.styleable.MyEditText_ed_MaxLength, 0);
maxLengthTip
=
typedArray
.
getString
(
R
.
styleable
.
MyEditText_ed_MaxLengthTip
);
//
maxLengthTip = typedArray.getString(R.styleable.MyEditText_ed_MaxLengthTip);
isShowMaxLenght
=
typedArray
.
getBoolean
(
R
.
styleable
.
MyEditText_ed_showMaxLenght
,
false
);
//
isShowMaxLenght = typedArray.getBoolean(R.styleable.MyEditText_ed_showMaxLenght, false);
maxLenghtTextColor
=
typedArray
.
getColor
(
R
.
styleable
.
MyEditText_ed_maxLengthTextColor
,
0x10
);
//
maxLenghtTextColor = typedArray.getColor(R.styleable.MyEditText_ed_maxLengthTextColor, 0x10);
maxLenghtTextSize
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_maxLengthTextSize
,
12
));
//
maxLenghtTextSize = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_maxLengthTextSize, 12));
isInputIcon
=
typedArray
.
getBoolean
(
R
.
styleable
.
MyEditText_ed_isInputIcon
,
false
);
//
isInputIcon = typedArray.getBoolean(R.styleable.MyEditText_ed_isInputIcon, false);
inputIconTipText
=
typedArray
.
getString
(
R
.
styleable
.
MyEditText_ed_putIconTip
);
//
inputIconTipText = typedArray.getString(R.styleable.MyEditText_ed_putIconTip);
clearIconSiZe
=
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_clearIconSize
,
0
);
//
clearIconSiZe = typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_clearIconSize, 0);
clearIcon
=
typedArray
.
getDrawable
(
R
.
styleable
.
MyEditText_ed_clearRes
);
//
clearIcon = typedArray.getDrawable(R.styleable.MyEditText_ed_clearRes);
clearRightMargin
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_clearMarginRight
,
0
));
//
clearRightMargin = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_clearMarginRight, 0));
lookIconUncheck
=
typedArray
.
getDrawable
(
R
.
styleable
.
MyEditText_ed_lookIcon_uncheck
);
//
lookIconUncheck = typedArray.getDrawable(R.styleable.MyEditText_ed_lookIcon_uncheck);
lookIconChecked
=
typedArray
.
getDrawable
(
R
.
styleable
.
MyEditText_ed_lookIcon_checked
);
//
lookIconChecked = typedArray.getDrawable(R.styleable.MyEditText_ed_lookIcon_checked);
lookIconSiZe
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_lookIconSize
,
0
));
//
lookIconSiZe = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_lookIconSize, 0));
lookRightMargin
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_lookMarginRight
,
0
));
//
lookRightMargin = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_lookMarginRight, 0));
pwdChar
=
typedArray
.
getString
(
R
.
styleable
.
MyEditText_ed_pwdChar
);
//
pwdChar = typedArray.getString(R.styleable.MyEditText_ed_pwdChar);
singleLine
=
typedArray
.
getBoolean
(
R
.
styleable
.
MyEditText_ed_singLeLine
,
false
);
//
singleLine = typedArray.getBoolean(R.styleable.MyEditText_ed_singLeLine, false);
inputType
=
typedArray
.
getInteger
(
R
.
styleable
.
MyEditText_inputType
,
0
);
//
inputType = typedArray.getInteger(R.styleable.MyEditText_inputType, 0);
contentGravity
=
typedArray
.
getInteger
(
R
.
styleable
.
MyEditText_ed_gravity
,
0
);
//
contentGravity = typedArray.getInteger(R.styleable.MyEditText_ed_gravity, 0);
//
maxTextMarginLeft
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_maxLengthMarginLeft
,
0
));
//
maxTextMarginLeft = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_maxLengthMarginLeft, 0));
maxTextMarginRight
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_maxLengthMarginRight
,
0
));
//
maxTextMarginRight = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_maxLengthMarginRight, 0));
maxTextMarginTop
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_maxLengthMarginTop
,
0
));
//
maxTextMarginTop = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_maxLengthMarginTop, 0));
maxTextMarginBottom
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_maxLengthMarginBottom
,
0
));
//
maxTextMarginBottom = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_maxLengthMarginBottom, 0));
btnGravity
=
typedArray
.
getInteger
(
R
.
styleable
.
MyEditText_ed_clear_gravity
,
2
);
//
btnGravity = typedArray.getInteger(R.styleable.MyEditText_ed_clear_gravity, 2);
//
btnMarginTop
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_btn_marginTop
,
0
));
//
btnMarginTop = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_btn_marginTop, 0));
btnMarginRight
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_btn_marginRight
,
0
));
//
btnMarginRight = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_btn_marginRight, 0));
btnMarginBottom
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_btn_marginBottom
,
0
));
//
btnMarginBottom = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_btn_marginBottom, 0));
btnMarginLeft
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_btn_marginLeft
,
0
));
//
btnMarginLeft = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_btn_marginLeft, 0));
//
hint
=
typedArray
.
getString
(
R
.
styleable
.
MyEditText_ed_hint
);
//
hint = typedArray.getString(R.styleable.MyEditText_ed_hint);
hintColor
=
typedArray
.
getColor
(
R
.
styleable
.
MyEditText_ed_hintColor
,
0x10
);
//
hintColor = typedArray.getColor(R.styleable.MyEditText_ed_hintColor, 0x10);
edTextColor
=
typedArray
.
getColor
(
R
.
styleable
.
MyEditText_ed_textColor
,
0x10
);
//
edTextColor = typedArray.getColor(R.styleable.MyEditText_ed_textColor, 0x10);
edText
=
typedArray
.
getString
(
R
.
styleable
.
MyEditText_ed_text
);
//
edText = typedArray.getString(R.styleable.MyEditText_ed_text);
edTextSize
=
ConvertDpAndPx
.
Px2Dp
(
context
,
typedArray
.
getDimensionPixelSize
(
R
.
styleable
.
MyEditText_ed_textSize
,
12
));
//
edTextSize = ConvertDpAndPx.Px2Dp(context, typedArray.getDimensionPixelSize(R.styleable.MyEditText_ed_textSize, 12));
//
typedArray
.
recycle
();
//
typedArray.recycle();
//
initLeght
();
//
initLeght();
initEditText
();
//
initEditText();
initClearIcon
();
//
initClearIcon();
initLookIcon
();
//
initLookIcon();
}
//
}
//
@Override
//
@Override
protected
void
onMeasure
(
int
widthMeasureSpec
,
int
heightMeasureSpec
)
{
//
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super
.
onMeasure
(
widthMeasureSpec
,
heightMeasureSpec
);
//
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int
height
=
0
;
//
int height = 0;
for
(
int
i
=
0
;
i
<
getChildCount
();
i
++)
{
//
for (int i = 0; i < getChildCount(); i++) {
View
childView
=
getChildAt
(
i
);
//
View childView = getChildAt(i);
measureChild
(
childView
,
widthMeasureSpec
,
heightMeasureSpec
);
//
measureChild(childView, widthMeasureSpec, heightMeasureSpec);
height
+=
childView
.
getMeasuredHeight
();
//
height += childView.getMeasuredHeight();
}
//
}
setMeasuredDimension
(
widthMeasureSpec
,
height
);
//
setMeasuredDimension(widthMeasureSpec, height);
}
//
}
//
private
void
initEditText
()
{
//
private void initEditText() {
if
(!
isInputIcon
)
{
//
if (!isInputIcon) {
mInputFilter
.
add
(
new
EmojiInputFilter
());
//
mInputFilter.add(new EmojiInputFilter());
}
//
}
editText
=
new
EditText
(
context
);
//
editText = new EditText(context);
editText
.
setText
(
edText
);
//
editText.setText(edText);
editText
.
setTextColor
(
edTextColor
);
//
editText.setTextColor(edTextColor);
editText
.
setHint
(
hint
);
//
editText.setHint(hint);
editText
.
setHintTextColor
(
hintColor
);
//
editText.setHintTextColor(hintColor);
editText
.
setTextSize
(
edTextSize
);
//
editText.setTextSize(edTextSize);
editText
.
setGravity
(
contentGravity
);
//
editText.setGravity(contentGravity);
InputFilter
[]
inputFilters
=
new
InputFilter
[
mInputFilter
.
size
()];
//
InputFilter[] inputFilters = new InputFilter[mInputFilter.size()];
for
(
int
i
=
0
;
i
<
mInputFilter
.
size
();
i
++)
{
//
for (int i = 0; i < mInputFilter.size(); i++) {
inputFilters
[
i
]
=
mInputFilter
.
get
(
i
);
//
inputFilters[i] = mInputFilter.get(i);
}
//
}
editText
.
setFilters
(
inputFilters
);
//
editText.setFilters(inputFilters);
if
(!
TextUtils
.
isEmpty
(
pwdChar
))
{
//
if (!TextUtils.isEmpty(pwdChar)) {
passwordTransformationMethod
=
new
AsteriskPasswordTransformationMethod
();
//
passwordTransformationMethod = new AsteriskPasswordTransformationMethod();
editText
.
setTransformationMethod
(
passwordTransformationMethod
);
//必須在setsingleLine之後才有效
//
editText.setTransformationMethod(passwordTransformationMethod);//必須在setsingleLine之後才有效
}
//
}
if
(
inputType
!=
0
)
{
//
if (inputType != 0) {
editText
.
setInputType
(
inputType
);
//
editText.setInputType(inputType);
}
//
}
//
LayoutParams
params
=
new
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
);
//
LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
editText
.
setPadding
(
0
,
0
,
clearIconSiZe
+
lookIconSiZe
+
clearRightMargin
+
lookRightMargin
,
0
);
//
editText.setPadding(0, 0, clearIconSiZe + lookIconSiZe + clearRightMargin + lookRightMargin, 0);
editText
.
setBackgroundColor
(
0
);
//
editText.setBackgroundColor(0);
editText
.
setLayoutParams
(
params
);
//
editText.setLayoutParams(params);
// editText.setSingleLine();這個方法會改變edittext的TransformationMethod,不適用
//
//
editText.setSingleLine();這個方法會改變edittext的TransformationMethod,不適用
if
(
singleLine
)
{
//
if (singleLine) {
editText
.
setMaxLines
(
1
);
//
editText.setMaxLines(1);
editText
.
setHorizontallyScrolling
(
true
);
//
editText.setHorizontallyScrolling(true);
}
else
{
//
} else {
editText
.
setMaxLines
(
Integer
.
MAX_VALUE
);
//
editText.setMaxLines(Integer.MAX_VALUE);
//水平滚动设置为False
//
//水平滚动设置为False
editText
.
setHorizontallyScrolling
(
false
);
//
editText.setHorizontallyScrolling(false);
}
//
}
//
editText
.
addTextChangedListener
(
new
TextWatcher
()
{
//
editText.addTextChangedListener(new TextWatcher() {
@Override
//
@Override
public
void
beforeTextChanged
(
CharSequence
charSequence
,
int
i
,
int
i1
,
int
i2
)
{
//
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
//
}
//
}
//
@Override
//
@Override
public
void
onTextChanged
(
CharSequence
charSequence
,
int
i
,
int
i1
,
int
i2
)
{
//
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
//
}
//
}
//
@Override
//
@Override
public
void
afterTextChanged
(
Editable
editable
)
{
//
public void afterTextChanged(Editable editable) {
setMaxLengthText
(
editable
.
toString
().
length
());
//
setMaxLengthText(editable.toString().length());
if
(
ivClear
!=
null
)
{
//
if (ivClear != null) {
if
(
editable
.
toString
().
length
()
>
0
)
{
//
if (editable.toString().length() > 0) {
ivClear
.
setVisibility
(
VISIBLE
);
//
ivClear.setVisibility(VISIBLE);
}
else
{
//
} else {
ivClear
.
setVisibility
(
GONE
);
//
ivClear.setVisibility(GONE);
}
//
}
}
//
}
}
//
}
});
//
});
this
.
addView
(
editText
);
//
this.addView(editText);
}
//
}
//
/**
//
/**
* 初始化查看密碼按鈕
//
* 初始化查看密碼按鈕
*/
//
*/
private
void
initLookIcon
()
{
//
private void initLookIcon() {
if
(
lookIconUncheck
!=
null
)
{
//
if (lookIconUncheck != null) {
ivLook
=
new
CheckBox
(
context
);
//
ivLook = new CheckBox(context);
LayoutParams
ivLookParams
=
getImgLayoutParams
(
lookIconSiZe
,
lookIconSiZe
,
lookRightMargin
);
//
LayoutParams ivLookParams = getImgLayoutParams(lookIconSiZe, lookIconSiZe, lookRightMargin);
ivLook
.
setButtonDrawable
(
null
);
//
ivLook.setButtonDrawable(null);
if
(
ivClear
!=
null
)
{
//
if (ivClear != null) {
ivLookParams
.
rightMargin
=
clearIconSiZe
+
lookRightMargin
+
clearRightMargin
;
//
ivLookParams.rightMargin = clearIconSiZe + lookRightMargin + clearRightMargin;
}
else
{
//
} else {
ivLookParams
.
rightMargin
=
lookRightMargin
;
//
ivLookParams.rightMargin = lookRightMargin;
}
//
}
//
ivLook
.
setLayoutParams
(
ivLookParams
);
//
ivLook.setLayoutParams(ivLookParams);
ivLook
.
setBackground
(
lookIconUncheck
);
//
ivLook.setBackground(lookIconUncheck);
//
this
.
addView
(
ivLook
);
//
this.addView(ivLook);
ivLook
.
setOnCheckedChangeListener
((
buttonView
,
isChecked
)
->
{
//
ivLook.setOnCheckedChangeListener((buttonView, isChecked) -> {
if
(
isChecked
)
{
//
if (isChecked) {
ivLook
.
setBackground
(
lookIconChecked
);
//
ivLook.setBackground(lookIconChecked);
editText
.
setTransformationMethod
(
HideReturnsTransformationMethod
.
getInstance
());
//
editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}
else
{
//
} else {
ivLook
.
setBackground
(
lookIconUncheck
);
//
ivLook.setBackground(lookIconUncheck);
if
(
passwordTransformationMethod
==
null
)
{
//
if (passwordTransformationMethod == null) {
editText
.
setTransformationMethod
(
new
PasswordTransformationMethod
());
//
editText.setTransformationMethod(new PasswordTransformationMethod());
}
else
{
//
} else {
editText
.
setTransformationMethod
(
passwordTransformationMethod
);
//讓密碼顯示為*
//
editText.setTransformationMethod(passwordTransformationMethod);//讓密碼顯示為*
}
//
}
}
//
}
editText
.
setSelection
(
editText
.
getText
().
toString
().
length
());
//
editText.setSelection(editText.getText().toString().length());
if
(
lookOnClickListener
!=
null
)
{
//
if (lookOnClickListener != null) {
lookOnClickListener
.
onClick
(
buttonView
);
//
lookOnClickListener.onClick(buttonView);
}
//
}
});
//
});
}
//
}
}
//
}
//
/**
//
/**
* 初始化清空按鈕
//
* 初始化清空按鈕
*/
//
*/
private
void
initClearIcon
()
{
//
private void initClearIcon() {
if
(
clearIcon
!=
null
)
{
//
if (clearIcon != null) {
ivClear
=
new
ImageView
(
context
);
//
ivClear = new ImageView(context);
ivClear
.
setImageDrawable
(
clearIcon
);
//
ivClear.setImageDrawable(clearIcon);
ivClear
.
setLayoutParams
(
getImgLayoutParams
(
clearIconSiZe
,
clearIconSiZe
,
clearRightMargin
));
//
ivClear.setLayoutParams(getImgLayoutParams(clearIconSiZe, clearIconSiZe, clearRightMargin));
this
.
addView
(
ivClear
);
//
this.addView(ivClear);
//有了內容才顯示清除按鈕
//
//有了內容才顯示清除按鈕
ivClear
.
setVisibility
(
GONE
);
//
ivClear.setVisibility(GONE);
ivClear
.
setOnClickListener
(
view
->
{
//
ivClear.setOnClickListener(view -> {
editText
.
setText
(
""
);
//
editText.setText("");
if
(
clearOnClickListener
!=
null
)
{
//
if (clearOnClickListener != null) {
clearOnClickListener
.
onClick
(
view
);
//
clearOnClickListener.onClick(view);
}
//
}
});
//
});
}
//
}
}
//
}
//
public
EditText
getEditText
()
{
//
public EditText getEditText() {
return
editText
;
//
return editText;
}
//
}
//
public
void
setEditText
(
EditText
editText
)
{
//
public void setEditText(EditText editText) {
this
.
editText
=
editText
;
//
this.editText = editText;
}
//
}
//
public
Editable
getText
()
{
//
public Editable getText() {
return
editText
.
getText
();
//
return editText.getText();
}
//
}
//
public
EditText
setText
(
String
text
){
//
public EditText setText(String text){
editText
.
setText
(
text
);
//
editText.setText(text);
return
editText
;
//
return editText;
}
//
}
//
private
void
setMaxLengthText
(
int
currentLenght
)
{
//
private void setMaxLengthText(int currentLenght) {
if
(
maxLenghtTextView
!=
null
)
//
if (maxLenghtTextView != null)
maxLenghtTextView
.
setText
(
currentLenght
+
"/"
+
maxLeght
);
//
maxLenghtTextView.setText(currentLenght + "/" + maxLeght);
}
//
}
//
//
private
LayoutParams
getImgLayoutParams
(
int
widht
,
int
height
,
int
rightMargin
)
{
//
private LayoutParams getImgLayoutParams(int widht, int height, int rightMargin) {
LayoutParams
params
;
//
LayoutParams params;
if
(
widht
==
0
)
{
//
if (widht == 0) {
params
=
new
LayoutParams
(
LayoutParams
.
WRAP_CONTENT
,
LayoutParams
.
MATCH_PARENT
);
//
params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
}
else
{
//
} else {
params
=
new
LayoutParams
(
widht
,
height
);
//
params = new LayoutParams(widht, height);
}
//
}
params
.
addRule
(
RelativeLayout
.
ALIGN_PARENT_RIGHT
);
//
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
switch
(
btnGravity
)
{
//
switch (btnGravity) {
case
1
:
//
case 1:
params
.
addRule
(
RelativeLayout
.
ALIGN_PARENT_TOP
);
//
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
break
;
//
break;
case
2
:
//
case 2:
params
.
addRule
(
RelativeLayout
.
CENTER_VERTICAL
);
//
params.addRule(RelativeLayout.CENTER_VERTICAL);
break
;
//
break;
case
3
:
//
case 3:
params
.
addRule
(
RelativeLayout
.
ALIGN_PARENT_BOTTOM
);
//
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
break
;
//
break;
}
//
}
params
.
setMargins
(
btnMarginLeft
,
btnMarginTop
,
btnMarginRight
,
btnMarginBottom
);
//
params.setMargins(btnMarginLeft, btnMarginTop, btnMarginRight, btnMarginBottom);
params
.
rightMargin
=
rightMargin
;
//
params.rightMargin = rightMargin;
return
params
;
//
return params;
}
//
}
//
/**
//
/**
* 初始化長度監聽和長度顯示文字
//
* 初始化長度監聽和長度顯示文字
*/
//
*/
private
void
initLeght
()
{
//
private void initLeght() {
if
(
maxLeght
>
0
)
{
//
if (maxLeght > 0) {
mInputFilter
.
add
(
new
MaxTextLengthFilter
(
maxLeght
));
//
mInputFilter.add(new MaxTextLengthFilter(maxLeght));
}
//
}
if
(
isShowMaxLenght
)
{
//
if (isShowMaxLenght) {
maxLenghtTextView
=
new
TextView
(
context
);
//
maxLenghtTextView = new TextView(context);
maxLenghtTextView
.
setTextColor
(
maxLenghtTextColor
);
//
maxLenghtTextView.setTextColor(maxLenghtTextColor);
maxLenghtTextView
.
setTextSize
(
maxLenghtTextSize
);
//
maxLenghtTextView.setTextSize(maxLenghtTextSize);
LayoutParams
textParams
=
new
LayoutParams
(
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
);
//
LayoutParams textParams = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
textParams
.
addRule
(
RelativeLayout
.
ALIGN_PARENT_RIGHT
);
//
textParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
textParams
.
addRule
(
RelativeLayout
.
ALIGN_PARENT_BOTTOM
);
//
textParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
textParams
.
setMargins
(
maxTextMarginLeft
,
maxTextMarginTop
,
maxTextMarginRight
,
maxTextMarginBottom
);
//
textParams.setMargins(maxTextMarginLeft, maxTextMarginTop, maxTextMarginRight, maxTextMarginBottom);
maxLenghtTextView
.
setLayoutParams
(
textParams
);
//
maxLenghtTextView.setLayoutParams(textParams);
setMaxLengthText
(
0
);
//
setMaxLengthText(0);
this
.
addView
(
maxLenghtTextView
);
//
this.addView(maxLenghtTextView);
}
//
}
}
//
}
//
/**
//
/**
* 检测是否有emoji表情
//
* 检测是否有emoji表情
*
//
*
* @param source
//
* @param source
* @return
//
* @return
*/
//
*/
private
boolean
containsEmoji
(
String
source
)
{
//
private boolean containsEmoji(String source) {
int
len
=
source
.
length
();
//
int len = source.length();
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
//
for (int i = 0; i < len; i++) {
char
codePoint
=
source
.
charAt
(
i
);
//
char codePoint = source.charAt(i);
if
(!
isEmojiCharacter
(
codePoint
))
{
//如果不能匹配,则该字符是Emoji表情
//
if (!isEmojiCharacter(codePoint)) { //如果不能匹配,则该字符是Emoji表情
return
true
;
//
return true;
}
//
}
}
//
}
return
false
;
//
return false;
}
//
}
//
/**
//
/**
* 判断是否是Emoji
//
* 判断是否是Emoji
*
//
*
* @param codePoint 比较的单个字符
//
* @param codePoint 比较的单个字符
* @return
//
* @return
*/
//
*/
private
boolean
isEmojiCharacter
(
char
codePoint
)
{
//
private boolean isEmojiCharacter(char codePoint) {
return
codePoint
==
0x0
||
codePoint
==
0x9
||
codePoint
==
0xA
||
codePoint
==
0xD
||
codePoint
>=
0x20
&&
codePoint
<=
0xD7FF
||
codePoint
>=
0xE000
&&
codePoint
<=
0xFFFD
;
//
return codePoint == 0x0 || codePoint == 0x9 || codePoint == 0xA || codePoint == 0xD || codePoint >= 0x20 && codePoint <= 0xD7FF || codePoint >= 0xE000 && codePoint <= 0xFFFD;
}
//
}
//
//
public
void
setClearOnClickListener
(
OnClickListener
clearOnClickListener
)
{
//
public void setClearOnClickListener(OnClickListener clearOnClickListener) {
this
.
clearOnClickListener
=
clearOnClickListener
;
//
this.clearOnClickListener = clearOnClickListener;
}
//
}
//
//
public
void
setLookOnClickListener
(
OnClickListener
lookOnClickListener
)
{
//
public void setLookOnClickListener(OnClickListener lookOnClickListener) {
this
.
lookOnClickListener
=
lookOnClickListener
;
//
this.lookOnClickListener = lookOnClickListener;
}
//
}
//
//最大字數限制器
//
//最大字數限制器
class
MaxTextLengthFilter
implements
InputFilter
{
//
class MaxTextLengthFilter implements InputFilter {
private
int
mMaxLength
;
//
private int mMaxLength;
//
public
MaxTextLengthFilter
(
int
max
)
{
//
public MaxTextLengthFilter(int max) {
mMaxLength
=
max
;
//
mMaxLength = max;
}
//
}
//
public
CharSequence
filter
(
CharSequence
source
,
int
start
,
int
end
,
//
public CharSequence filter(CharSequence source, int start, int end,
Spanned
dest
,
int
dstart
,
int
dend
)
{
//
Spanned dest, int dstart, int dend) {
int
keep
=
mMaxLength
-
(
dest
.
length
()
-
(
dend
-
dstart
));
//
int keep = mMaxLength - (dest.length() - (dend - dstart));
if
(
keep
<
(
end
-
start
))
{
//
if (keep < (end - start)) {
if
(!
TextUtils
.
isEmpty
(
maxLengthTip
))
{
//
if (!TextUtils.isEmpty(maxLengthTip)) {
// ToastUtils.showShort();
//
//
ToastUtils.showShort();
Toast
.
makeText
(
context
,
maxLengthTip
,
Toast
.
LENGTH_SHORT
).
show
();
//
Toast.makeText(context, maxLengthTip, Toast.LENGTH_SHORT).show();
}
//
}
}
//
}
if
(
keep
<=
0
)
{
//
if (keep <= 0) {
return
""
;
//
return "";
}
else
if
(
keep
>=
end
-
start
)
{
//
} else if (keep >= end - start) {
return
null
;
//
return null;
}
else
{
//
} else {
return
source
.
subSequence
(
start
,
start
+
keep
);
//
return source.subSequence(start, start + keep);
}
//
}
}
//
}
}
//
}
//
class
EmojiInputFilter
implements
InputFilter
{
//
class EmojiInputFilter implements InputFilter {
//
@Override
//
@Override
public
CharSequence
filter
(
CharSequence
source
,
int
start
,
int
end
,
Spanned
dest
,
int
dstart
,
int
dend
)
{
//
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if
(
containsEmoji
(
source
.
toString
()))
{
//
if (containsEmoji(source.toString())) {
//如果輸入了表情
//
//如果輸入了表情
if
(!
TextUtils
.
isEmpty
(
inputIconTipText
))
{
//
if (!TextUtils.isEmpty(inputIconTipText)) {
//提示文字不為空,就彈出提示,並移除掉表情
//
//提示文字不為空,就彈出提示,並移除掉表情
// ToastUtils.showShort(inputIconTipText);
//
//
ToastUtils.showShort(inputIconTipText);
Toast
.
makeText
(
context
,
inputIconTipText
,
Toast
.
LENGTH_SHORT
).
show
();
//
Toast.makeText(context, inputIconTipText, Toast.LENGTH_SHORT).show();
return
""
;
//
return "";
}
//
}
return
""
;
//
return "";
}
//
}
return
source
;
//
return source;
}
//
}
}
//
}
//
//替換密碼輸入框顯示的密碼樣式
//
//替換密碼輸入框顯示的密碼樣式
public
class
AsteriskPasswordTransformationMethod
extends
PasswordTransformationMethod
{
//
public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod {
@Override
//
@Override
public
CharSequence
getTransformation
(
CharSequence
source
,
View
view
)
{
//
public CharSequence getTransformation(CharSequence source, View view) {
return
new
PasswordCharSequence
(
source
);
//
return new PasswordCharSequence(source);
}
//
}
//
private
class
PasswordCharSequence
implements
CharSequence
{
//
private class PasswordCharSequence implements CharSequence {
private
CharSequence
mSource
;
//
private CharSequence mSource;
//
public
PasswordCharSequence
(
CharSequence
source
)
{
//
public PasswordCharSequence(CharSequence source) {
mSource
=
source
;
//
mSource = source;
}
//
}
//
public
char
charAt
(
int
index
)
{
//
public char charAt(int index) {
return
pwdChar
.
charAt
(
0
);
//
return pwdChar.charAt(0);
}
//
}
//
public
int
length
()
{
//
public int length() {
return
mSource
.
length
();
//
return mSource.length();
}
//
}
//
public
CharSequence
subSequence
(
int
start
,
int
end
)
{
//
public CharSequence subSequence(int start, int end) {
return
mSource
.
subSequence
(
start
,
end
);
//
return mSource.subSequence(start, end);
}
//
}
}
//
}
}
//
}
//
//
}
//
}
public-base/src/main/res/values/dimens.xml
View file @
bfeeddea
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<resources>
<dimen
name=
"edit_text_size"
>
18
d
p
</dimen>
<dimen
name=
"edit_text_size"
>
18
s
p
</dimen>
<dimen
name=
"load_dialog_text_size"
>
16dp
</dimen>
<dimen
name=
"load_dialog_text_size"
>
16dp
</dimen>
<!-- font -->
<!-- font -->
...
...
user-login/src/main/java/com/gingersoft/gsa/cloud/user/login/mvp/ui/activity/LoginActivity.java
View file @
bfeeddea
...
@@ -2,25 +2,28 @@ package com.gingersoft.gsa.cloud.user.login.mvp.ui.activity;
...
@@ -2,25 +2,28 @@ package com.gingersoft.gsa.cloud.user.login.mvp.ui.activity;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.Editable
;
import
android.text.TextWatcher
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.EditText
;
import
android.widget.ImageView
;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean
;
import
com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem
;
import
com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.ChooseRestaurantDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.ChooseRestaurantDialog
;
import
com.gingersoft.gsa.cloud.user.login.R
;
import
com.gingersoft.gsa.cloud.user.login.R
;
import
com.gingersoft.gsa.cloud.user.login.R2
;
import
com.gingersoft.gsa.cloud.user.login.R2
;
import
com.gingersoft.gsa.cloud.user.login.di.component.DaggerLoginComponent
;
import
com.gingersoft.gsa.cloud.user.login.di.component.DaggerLoginComponent
;
import
com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean
;
import
com.gingersoft.gsa.cloud.user.login.mvp.contract.LoginContract
;
import
com.gingersoft.gsa.cloud.user.login.mvp.presenter.LoginPresenter
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.user.login.mvp.contract.LoginContract
;
import
com.gingersoft.gsa.cloud.user.login.mvp.presenter.LoginPresenter
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.ui.view.MyEditText
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.List
;
...
@@ -54,9 +57,13 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
...
@@ -54,9 +57,13 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
*/
*/
public
class
LoginActivity
extends
BaseActivity
<
LoginPresenter
>
implements
LoginContract
.
View
,
View
.
OnClickListener
{
public
class
LoginActivity
extends
BaseActivity
<
LoginPresenter
>
implements
LoginContract
.
View
,
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
ed_login_user_account
)
@BindView
(
R2
.
id
.
ed_login_user_account
)
My
EditText
edAccount
;
EditText
edAccount
;
@BindView
(
R2
.
id
.
ed_login_user_pwd
)
@BindView
(
R2
.
id
.
ed_login_user_pwd
)
MyEditText
edPwd
;
EditText
edPwd
;
@BindView
(
R2
.
id
.
iv_clear_pwd
)
ImageView
icClear
;
@BindView
(
R2
.
id
.
iv_clear_account
)
ImageView
icClearAccount
;
@Override
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
...
@@ -80,6 +87,47 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
...
@@ -80,6 +87,47 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
// jumpActivity();
// jumpActivity();
// finish();
// finish();
// }
// }
edPwd
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
if
(
edPwd
.
getText
().
equals
(
""
))
{
icClear
.
setVisibility
(
View
.
GONE
);
}
else
{
icClear
.
setVisibility
(
View
.
VISIBLE
);
}
}
});
edAccount
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
if
(
edAccount
.
getText
().
equals
(
""
))
{
icClearAccount
.
setVisibility
(
View
.
GONE
);
}
else
{
icClearAccount
.
setVisibility
(
View
.
VISIBLE
);
}
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
}
});
}
}
@Override
@Override
...
@@ -137,11 +185,11 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
...
@@ -137,11 +185,11 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
@Override
@Override
public
void
loginSuccess
(
LoginBean
loginBean
)
{
public
void
loginSuccess
(
LoginBean
loginBean
)
{
if
(
loginBean
.
getData
()
!=
null
)
{
if
(
loginBean
.
getData
()
!=
null
)
{
GsaCloudApplication
.
setLoginToken
(
LoginActivity
.
this
,
loginBean
.
getData
().
getToken
());
GsaCloudApplication
.
setLoginToken
(
LoginActivity
.
this
,
loginBean
.
getData
().
getToken
());
if
(
loginBean
.
getData
().
getUser
()
!=
null
)
{
if
(
loginBean
.
getData
().
getUser
()
!=
null
)
{
GsaCloudApplication
.
setMemberId
(
LoginActivity
.
this
,
loginBean
.
getData
().
getUser
().
getUserId
());
GsaCloudApplication
.
setMemberId
(
LoginActivity
.
this
,
loginBean
.
getData
().
getUser
().
getUserId
());
GsaCloudApplication
.
setMemberName
(
LoginActivity
.
this
,
loginBean
.
getData
().
getUser
().
getUserName
());
GsaCloudApplication
.
setMemberName
(
LoginActivity
.
this
,
loginBean
.
getData
().
getUser
().
getUserName
());
...
@@ -154,7 +202,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
...
@@ -154,7 +202,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
.
setOnItemClickListener
(
new
ChooseRestaurantDialog
.
BottomListSheetBuilder
.
OnItemClickListener
()
{
.
setOnItemClickListener
(
new
ChooseRestaurantDialog
.
BottomListSheetBuilder
.
OnItemClickListener
()
{
@Override
@Override
public
void
onItemClick
(
ChooseRestaurantDialog
dialog
,
SectionTextItem
item
,
int
position
)
{
public
void
onItemClick
(
ChooseRestaurantDialog
dialog
,
SectionTextItem
item
,
int
position
)
{
GsaCloudApplication
.
setRestaurantId
(
LoginActivity
.
this
,
item
.
getId
());
GsaCloudApplication
.
setRestaurantId
(
LoginActivity
.
this
,
item
.
getId
());
GsaCloudApplication
.
setRestaurantName
(
LoginActivity
.
this
,
item
.
getText
());
GsaCloudApplication
.
setRestaurantName
(
LoginActivity
.
this
,
item
.
getText
());
jumpActivity
();
jumpActivity
();
...
@@ -217,7 +265,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
...
@@ -217,7 +265,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
}
}
@Override
@Override
@OnClick
({
R
.
id
.
tv_gsa_user_login
})
@OnClick
({
R
.
id
.
tv_gsa_user_login
,
R
.
id
.
iv_clear_pwd
,
R
.
id
.
iv_clear_account
})
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
switch
(
v
.
getId
())
{
switch
(
v
.
getId
())
{
case
R
.
id
.
tv_gsa_user_login
:
case
R
.
id
.
tv_gsa_user_login
:
...
@@ -226,6 +274,16 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
...
@@ -226,6 +274,16 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
mPresenter
.
login
(
edAccount
.
getText
().
toString
(),
edPwd
.
getText
().
toString
());
mPresenter
.
login
(
edAccount
.
getText
().
toString
(),
edPwd
.
getText
().
toString
());
}
}
break
;
break
;
case
R
.
id
.
iv_clear_account
:
//清空賬號框
edAccount
.
setText
(
""
);
icClearAccount
.
setVisibility
(
View
.
GONE
);
break
;
case
R
.
id
.
iv_clear_pwd
:
//清空密碼框
edPwd
.
setText
(
""
);
icClear
.
setVisibility
(
View
.
GONE
);
break
;
}
}
}
}
...
...
user-login/src/main/res/layout/user_login_activity_login.xml
View file @
bfeeddea
...
@@ -31,26 +31,37 @@
...
@@ -31,26 +31,37 @@
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/login_title"
/>
app:layout_constraintTop_toBottomOf=
"@id/login_title"
/>
<
com.gingersoft.gsa.cloud.ui.view.My
EditText
<EditText
android:id=
"@+id/ed_login_user_account"
android:id=
"@+id/ed_login_user_account"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_height=
"0dp"
android:padding=
"10dp"
android:background=
"@null"
app:ed_MaxLength=
"11"
android:hint=
"請輸入賬戶"
app:ed_clearIconSize=
"30dp"
android:maxLength=
"11"
app:ed_clearRes=
"@mipmap/ic_clear_text"
android:paddingLeft=
"@dimen/dp_10"
app:ed_hint=
"請輸入賬戶"
android:paddingRight=
"@dimen/dp_10"
app:ed_hintColor=
"@color/user_login_edit_color"
android:singleLine=
"true"
app:ed_isInputIcon=
"false"
android:textColor=
"@color/theme_333_color"
app:ed_singLeLine=
"true"
android:textColorHint=
"@color/user_login_edit_color"
app:ed_textColor=
"#333"
android:textSize=
"@dimen/edit_text_size"
app:ed_textSize=
"@dimen/edit_text_size"
app:layout_constraintBottom_toBottomOf=
"@id/login_icon"
app:layout_constraintBottom_toBottomOf=
"@id/login_icon"
app:layout_constraintLeft_toRightOf=
"@id/login_icon"
app:layout_constraintLeft_toRightOf=
"@id/login_icon"
app:layout_constraintRight_to
RightOf=
"pare
nt"
app:layout_constraintRight_to
LeftOf=
"@id/iv_clear_accou
nt"
app:layout_constraintTop_toTopOf=
"@id/login_icon"
/>
app:layout_constraintTop_toTopOf=
"@id/login_icon"
/>
<ImageView
<ImageView
android:id=
"@+id/iv_clear_account"
android:layout_width=
"@dimen/dp_30"
android:layout_height=
"@dimen/dp_30"
android:layout_marginRight=
"@dimen/dp_10"
android:src=
"@mipmap/ic_clear_text"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"@id/ed_login_user_account"
app:layout_constraintLeft_toRightOf=
"@id/ed_login_user_account"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/ed_login_user_account"
/>
<ImageView
android:id=
"@+id/iv_login_pwd_icon"
android:id=
"@+id/iv_login_pwd_icon"
android:layout_width=
"40dp"
android:layout_width=
"40dp"
android:layout_height=
"40dp"
android:layout_height=
"40dp"
...
@@ -62,27 +73,38 @@
...
@@ -62,27 +73,38 @@
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/ed_login_user_account"
/>
app:layout_constraintTop_toBottomOf=
"@id/ed_login_user_account"
/>
<
com.gingersoft.gsa.cloud.ui.view.My
EditText
<EditText
android:id=
"@+id/ed_login_user_pwd"
android:id=
"@+id/ed_login_user_pwd"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_height=
"0dp"
android:background=
"#00000000"
android:background=
"#00000000"
android:padding=
"10dp"
android:gravity=
"center_vertical"
app:ed_MaxLength=
"16"
android:hint=
"請輸入密碼"
app:ed_clearIconSize=
"30dp"
android:inputType=
"textPassword"
app:ed_clearRes=
"@mipmap/ic_clear_text"
android:maxLength=
"16"
app:ed_hint=
"請輸入密碼"
android:paddingLeft=
"@dimen/dp_10"
app:ed_hintColor=
"@color/user_login_edit_color"
android:paddingRight=
"@dimen/dp_10"
app:ed_isInputIcon=
"false"
android:singleLine=
"true"
app:ed_singLeLine=
"true"
android:textColor=
"@color/theme_333_color"
app:ed_textColor=
"#333"
android:textColorHint=
"@color/user_login_edit_color"
app:ed_textSize=
"@dimen/edit_text_size"
android:textSize=
"@dimen/edit_text_size"
app:inputType=
"textPassword"
app:layout_constraintBottom_toBottomOf=
"@id/iv_login_pwd_icon"
app:layout_constraintBottom_toBottomOf=
"@id/iv_login_pwd_icon"
app:layout_constraintLeft_toRightOf=
"@id/iv_login_pwd_icon"
app:layout_constraintLeft_toRightOf=
"@id/iv_login_pwd_icon"
app:layout_constraintRight_to
RightOf=
"parent
"
app:layout_constraintRight_to
LeftOf=
"@id/iv_clear_pwd
"
app:layout_constraintTop_toTopOf=
"@id/iv_login_pwd_icon"
/>
app:layout_constraintTop_toTopOf=
"@id/iv_login_pwd_icon"
/>
<ImageView
android:id=
"@+id/iv_clear_pwd"
android:layout_width=
"@dimen/dp_30"
android:layout_height=
"@dimen/dp_30"
android:layout_marginRight=
"@dimen/dp_10"
android:src=
"@mipmap/ic_clear_text"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"@id/ed_login_user_pwd"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/ed_login_user_pwd"
/>
<TextView
<TextView
android:id=
"@+id/tv_forget_pwd"
android:id=
"@+id/tv_forget_pwd"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment