Commit 4731b434 by mReturn

register

parent 0af7ccd0
......@@ -3,8 +3,9 @@
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
......
......@@ -29,7 +29,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
windows系统下可能会报 Databinding错误
解决方法: 配置环境变量:变量名为: JAVA_TOOL_OPTIONS 变量值为:-Dfile.encoding=UTF-8
参考 https://blog.csdn.net/suzhanfeng/article/details/77715129
\ No newline at end of file
package com.dayu.base.ui.presenter;
import android.view.View;
/**
* Created by mReturn
* on 2019/12/21
**/
public class SImplePresenter extends BasePresenter<View> {
@Override
public void onAttached() {
}
}
package com.dayu.utils;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.media.ExifInterface;
import android.os.Environment;
import com.luck.picture.lib.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.umeng.analytics.MobclickAgent;
import java.io.File;
import java.io.FileOutputStream;
......@@ -107,4 +115,37 @@ public class PictrueUtils {
}
return inSampleSize;
}
public static void showPicDialog(Activity activity,int maxImgCout) {
PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(maxImgCout)// 最大图片选择数量 int
.imageSpanCount(4)// 每行显示个数 int
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.previewImage(true)// 是否可预览图片 true or false
.isCamera(true)// 是否显示拍照按钮 true or false
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
.compress(true)// 是否压缩 true or false
.glideOverride(300, 300)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
.compressSavePath(getPath())//压缩图片保存地址
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
.minimumCompressSize(100)// 小于100kb的图片不压缩
.synOrAsy(true)//同步true或异步false 压缩 默认同步、
.enableCrop(true)//是否裁剪
.withAspectRatio(1, 1)
.freeStyleCropEnabled(false);
selector.forResult(PictureConfig.CHOOSE_REQUEST);
}
private static String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
}
return path;
}
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="#bbbbbb"
/>
<corners android:radius="4dp"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="@color/common_red"
/>
<corners android:radius="4dp"/>
<solid android:color="#dddddd"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp"/>
<solid android:color="#e2e2e2"/>
</shape>
\ No newline at end of file
......@@ -39,5 +39,8 @@
<color name="view_color">#E6E6E6 </color>
<color name="blue_register">#FF0e15fb</color>
</resources>
......@@ -677,5 +677,18 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
<string name="skip">跳过</string>
<string name="turn_on_flashlight">打开闪光灯</string>
<string name="turn_off_flashlight">关闭闪光灯</string>
<!-- new -->
<string name="register_account">注册账号</string>
<string name="click_add_avatar">点击上传头像图片</string>
<string name="pls_input_name">请输入姓名</string>
<string name="pls_input_phone">请输入手机号</string>
<string name="pls_input_pwd">请输入8-18位(数字+字母)密码</string>
<string name="pls_confirm_pwd">请确认8-18位(数字+字母)密码</string>
<string name="str_name">姓名</string>
<string name="str_phone">手机号</string>
<string name="str_pwd">登录密码</string>
<string name="str_confirm_pwd">确认密码</string>
</resources>
......@@ -64,6 +64,10 @@ public class PwLoginActivity extends BaseActivity<PwLoginPresenter, ActivityPwlo
}
});
mBind.next.setEnabled(false);
mBind.tvRegister.setOnClickListener(view -> {
startActivity(new Intent(mActivity,RegisterActivity.class));
});
}
public void isMatch(String phone, String pwd) {
......
package com.dayu.usercenter.ui.activity;
import android.content.Intent;
import android.text.Editable;
import android.text.TextUtils;
import android.view.View;
import com.dayu.base.api.BaseApiFactory;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.activity.DataBindingActivity;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.common.BaseApplication;
import com.dayu.common.MyTextWatcher;
import com.dayu.usercenter.R;
import com.dayu.usercenter.databinding.ActivityRegisterBinding;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.PictrueUtils;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UtilsUserAccountMatcher;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.umeng.analytics.MobclickAgent;
import java.io.File;
import java.util.List;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/**
* Created by mReturn
* on 2019/12/21
**/
public class RegisterActivity extends BaseActivity<SImplePresenter, ActivityRegisterBinding> implements View.OnClickListener {
private boolean isNameValid;
private boolean isPhoneValid;
private boolean isPwdValid;
private boolean isPwd2Valid;
private String avatarPath;
@Override
public int getLayoutId() {
return R.layout.activity_register;
}
@Override
public void setPresenter() {
}
@Override
public void initView() {
updateSubmitSatte();
mBind.edtName.addTextChangedListener(new MyTextWatcher() {
@Override
public void afterTextChanged(Editable s) {
isNameValid = !TextUtils.isEmpty(s.toString());
mBind.tvNameWarn.setVisibility(isNameValid ? View.INVISIBLE : View.VISIBLE);
updateSubmitSatte();
}
});
mBind.edtPhone.addTextChangedListener(new MyTextWatcher() {
@Override
public void afterTextChanged(Editable s) {
isPhoneValid = !TextUtils.isEmpty(s.toString()) && UtilsUserAccountMatcher.isPhoneNum(s.toString());
mBind.tvPhoneWarn.setVisibility(isPhoneValid ? View.INVISIBLE : View.VISIBLE);
updateSubmitSatte();
}
});
mBind.edtPwd.addTextChangedListener(new MyTextWatcher() {
@Override
public void afterTextChanged(Editable s) {
isPwdValid = !TextUtils.isEmpty(s.toString()) && UtilsUserAccountMatcher.isPassword(s.toString());
mBind.tvPwdWarn.setVisibility(isPwdValid ? View.INVISIBLE : View.VISIBLE);
updateSubmitSatte();
}
});
mBind.edtPwd2.addTextChangedListener(new MyTextWatcher() {
@Override
public void afterTextChanged(Editable s) {
isPwd2Valid = !TextUtils.isEmpty(s.toString())
&& UtilsUserAccountMatcher.isPassword(s.toString())
&& s.toString().equals(mBind.edtPwd.getText().toString());
mBind.tvPwd2Warn.setVisibility(isPwd2Valid ? View.INVISIBLE : View.VISIBLE);
updateSubmitSatte();
}
});
}
private void updateSubmitSatte() {
boolean canSubmit = isNameValid && isPhoneValid && isPwdValid && isPwd2Valid;
mBind.btnSubmit.setEnabled(canSubmit);
mBind.btnSubmit.setAlpha(canSubmit ? 1.0f : 0.35f);
}
@Override
public void onClick(View view) {
int vid = view.getId();
if (vid == R.id.ll_avatar) {
PictrueUtils.showPicDialog(this, 1);
MobclickAgent.onEvent(BaseApplication.getContext(), "check_header_pic_register");
} else if (vid == R.id.btn_cancel || vid == R.id.title_back) {
finish();
} else if (vid == R.id.btn_submit) {
ToastUtils.showShortToast("submit");
}
}
public void uploadAvatar() {
File file = new File(avatarPath);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("fileUpload", file.getName(), requestFile);
BaseApiFactory.uploadPhoto(body).subscribe(mPresenter.baseObserver(list -> {
if (list != null && list.size() > 0) {
} else {
ToastUtils.showShortToast(R.string.modify_header_failed);
}
}));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
List<LocalMedia> mSelectList = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) {
avatarPath = mSelectList.get(0).getCutPath();
GlideImageLoader.loadDrawable(this, avatarPath, mBind.civAvatar);
}
break;
}
}
}
}
......@@ -86,5 +86,9 @@ public class SmsLoginActivity extends DataBindingActivity<ActivitySmsLoginBindin
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent, bundle);
});
mBind.tvRegister.setOnClickListener(view -> {
startActivity(new Intent(mActivity,RegisterActivity.class));
});
}
}
......@@ -62,6 +62,9 @@
android:name=".ui.activity.PwLoginActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.RegisterActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.CertificationResultActivity"
android:screenOrientation="portrait" /> <activity
android:name=".ui.activity.CommeWebViewActivity"
......
......@@ -131,6 +131,18 @@
android:text="@string/forget_pwd"
android:textColor="@color/bg_button"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/next"
android:layout_centerHorizontal="true"
android:text="@string/register_account"
android:layout_toRightOf="@+id/forget_pwd"
android:layout_alignBaseline="@+id/forget_pwd"
android:layout_marginLeft="35dp"
android:textColor="@color/blue_register" />
</RelativeLayout>
</RelativeLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cl_home_listview_bg"
android:orientation="vertical"
android:visibility="visible">
<RelativeLayout
android:id="@+id/title_idea"
style="@style/title">
<TextView
android:id="@+id/text_idea"
style="@style/text_title"
android:text="@string/register_account" />
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back"
android:onClick="onClick" />
<ImageView
style="@style/card_line"
android:layout_alignParentBottom="true" />
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingRight="50dp">
<LinearLayout
android:id="@+id/ll_avatar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="40dp"
android:onClick="onClick"
android:orientation="horizontal">
<com.dayu.widgets.CircleImageView
android:id="@+id/civ_avatar"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/user"
/>
<TextView
android:layout_marginLeft="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/click_add_avatar"
android:textColor="@color/bg_button" />
</LinearLayout>
<!-- name -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textColor="@color/common_red" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_name"
android:textColor="@color/black" />
</LinearLayout>
<EditText
android:id="@+id/edt_name"
android:layout_width="match_parent"
android:layout_height="35dp"
android:layout_marginLeft="15dp"
android:background="@drawable/bg_gray_react"
android:hint="@string/pls_input_name"
android:maxLength="13"
android:maxLines="1"
android:paddingLeft="10dp"
android:textSize="13sp" />
</LinearLayout>
<TextView
android:id="@+id/tv_name_warn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="95dp"
android:text="@string/pls_input_name"
android:textColor="@color/common_red"
android:textSize="12sp" />
<!-- phone -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textColor="@color/common_red" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_phone"
android:textColor="@color/black" />
</LinearLayout>
<EditText
android:id="@+id/edt_phone"
android:layout_width="match_parent"
android:layout_height="35dp"
android:layout_marginLeft="15dp"
android:background="@drawable/bg_gray_react"
android:hint="@string/pls_input_phone"
android:inputType="phone"
android:maxLength="18"
android:maxLines="1"
android:paddingLeft="10dp"
android:textSize="13sp" />
</LinearLayout>
<TextView
android:id="@+id/tv_phone_warn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="95dp"
android:text="@string/pls_input_phone"
android:textColor="@color/common_red"
android:textSize="12sp" />
<!-- pwd -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textColor="@color/common_red" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_pwd"
android:textColor="@color/black" />
</LinearLayout>
<EditText
android:id="@+id/edt_pwd"
android:layout_width="match_parent"
android:layout_height="35dp"
android:layout_marginLeft="15dp"
android:background="@drawable/bg_gray_react"
android:hint="@string/pls_input_pwd"
android:inputType="textPassword"
android:maxLength="18"
android:maxLines="1"
android:paddingLeft="10dp"
android:textSize="13sp" />
</LinearLayout>
<TextView
android:id="@+id/tv_pwd_warn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="95dp"
android:text="@string/pls_input_pwd"
android:textColor="@color/common_red"
android:textSize="12sp" />
<!-- confirm pwd -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textColor="@color/common_red" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_confirm_pwd"
android:textColor="@color/black" />
</LinearLayout>
<EditText
android:id="@+id/edt_pwd2"
android:layout_width="match_parent"
android:layout_height="35dp"
android:layout_marginLeft="15dp"
android:background="@drawable/bg_gray_react"
android:hint="@string/pls_confirm_pwd"
android:maxLength="18"
android:maxLines="1"
android:paddingLeft="10dp"
android:inputType="textPassword"
android:textSize="13sp" />
</LinearLayout>
<TextView
android:id="@+id/tv_pwd2_warn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="95dp"
android:text="@string/pls_confirm_pwd"
android:textColor="@color/common_red"
android:textSize="12sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="50dp"
android:orientation="horizontal">
<Button
android:id="@+id/btn_cancel"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="35dp"
android:layout_marginLeft="30dp"
android:background="@drawable/tab_gray_react"
android:onClick="onClick"
android:text="@string/cancle"
android:textColor="#8b8b8b" />
<Button
android:id="@+id/btn_submit"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="35dp"
android:layout_marginLeft="30dp"
android:background="@drawable/tab_blue_react"
android:onClick="onClick"
android:text="@string/submit"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</layout>
......@@ -83,6 +83,17 @@
android:layout_marginTop="25dp"
android:text="@string/use_account_login"
android:textColor="@color/bg_button" />
<TextView
android:id="@+id/tv_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/next"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:text="@string/register_account"
android:layout_toRightOf="@id/use_account"
android:layout_marginLeft="25dp"
android:textColor="@color/blue_register" />
<LinearLayout
android:id="@+id/ll_agreement"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment