接入微信登录, 增加个人信息编辑页面,我的光环增加自动检测更新,登录页面增加新老用户切换

This commit is contained in:
kehaoyuan
2017-06-30 17:29:43 +08:00
parent 94a5736939
commit 5f11c2d0b6
18 changed files with 789 additions and 116 deletions

View File

@ -0,0 +1,214 @@
package com.gh.gamecenter;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gh.base.BaseActivity;
import com.gh.common.util.DisplayUtils;
import butterknife.BindView;
import butterknife.OnClick;
/**
* Created by khy on 30/06/17.
*/
public class UserInfoEditActivity extends BaseActivity {
@BindView(R.id.userinfo_sex_man)
TextView mUserinfoSexMan;
@BindView(R.id.userinfo_sex_woman)
TextView mUserinfoSexWoman;
@BindView(R.id.userinfo_edit_sex)
LinearLayout mUserinfoEditSex;
@BindView(R.id.userinfo_nickname_et)
EditText mUserinfoNicknameEt;
@BindView(R.id.userinfo_nickname_iv)
ImageView mUserinfoNicknameIv;
@BindView(R.id.userinfo_edit_nickname)
RelativeLayout mUserinfoEditNickname;
@BindView(R.id.userinfo_contact_et)
EditText mUserinfoContactEt;
@BindView(R.id.userinfo_contact_iv)
ImageView mUserinfoContactIv;
@BindView(R.id.userinfo_edit_contact)
LinearLayout mUserinfoEditContact;
TextView mSaveTv;
private String mEditType;
private String mEditContent;
@NonNull
public static Intent getIntent(Context context, String editType, String editContent) {
Intent intent = new Intent(context, UserInfoEditActivity.class);
intent.putExtra("editType", editType);
intent.putExtra("editContent", editContent);
return intent;
}
@Override
protected int getLayoutId() {
return R.layout.activity_userinfo_edit;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mEditType = getIntent().getStringExtra("editType");
mEditContent = getIntent().getStringExtra("editContent");
// 添加分享图标
mSaveTv = new TextView(this);
mSaveTv.setBackgroundResource(R.drawable.border_black_bg);
mSaveTv.setVisibility(View.GONE);
mSaveTv.setText("保存");
mSaveTv.setTextSize(13);
mSaveTv.setGravity(Gravity.CENTER);
mSaveTv.setTextColor(ContextCompat.getColor(this, R.color.title));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
DisplayUtils.dip2px(this, 48), DisplayUtils.dip2px(this, 24));
params.addRule(RelativeLayout.CENTER_VERTICAL);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.setMargins(0, 0, DisplayUtils.dip2px(this, 18), 0);
RelativeLayout reuse_actionbar = (RelativeLayout) mContentView.findViewById(
R.id.reuse_actionbar);
reuse_actionbar.addView(mSaveTv, params);
initView();
mSaveTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveData();
}
});
}
private void initView() {
String title;
switch (mEditType) {
case "sex":
mUserinfoEditSex.setVisibility(View.VISIBLE);
title = "选择性别";
break;
case "nickName":
mUserinfoEditNickname.setVisibility(View.VISIBLE);
mSaveTv.setVisibility(View.VISIBLE);
mUserinfoNicknameEt.addTextChangedListener(new UserInfoEditTextWatcher(mUserinfoNicknameEt));
title = "修改昵称";
if (!TextUtils.isEmpty(mEditContent)) {
mUserinfoNicknameEt.setText(mEditContent);
}
break;
case "contact":
mUserinfoEditContact.setVisibility(View.VISIBLE);
mSaveTv.setVisibility(View.VISIBLE);
mUserinfoContactEt.addTextChangedListener(new UserInfoEditTextWatcher(mUserinfoContactEt));
title = "联系方式";
if (!TextUtils.isEmpty(mEditContent)) {
mUserinfoContactEt.setText(mEditContent);
}
break;
default:
title = "";
break;
}
initTitle(title);
}
private void saveData() {
Intent data = new Intent();
if ("nickName".equals(mEditType)) {
String value = mUserinfoNicknameEt.getText().toString();
if (!TextUtils.isEmpty(value)) {
data.putExtra("editContent", value);
setResult(0x131, data);
finish();
} else {
toast("昵称不能为空");
}
} else if ("contact".equals(mEditType)) {
String value = mUserinfoContactEt.getText().toString();
if (!TextUtils.isEmpty(value)) {
data.putExtra("editContent", value);
setResult(0x133, data);
finish();
} else {
toast("请输入QQ或邮箱");
}
}
}
@OnClick({R.id.userinfo_nickname_iv, R.id.userinfo_contact_iv, R.id.userinfo_sex_man, R.id.userinfo_sex_woman})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.userinfo_nickname_iv:
mUserinfoNicknameEt.setText("");
break;
case R.id.userinfo_contact_iv:
mUserinfoContactEt.setText("");
break;
case R.id.userinfo_sex_man:
Intent data = new Intent();
data.putExtra("editContent", "");
setResult(0x132, data);
finish();
break;
case R.id.userinfo_sex_woman:
Intent data2 = new Intent();
data2.putExtra("editContent", "");
setResult(0x132, data2);
finish();
break;
}
}
private class UserInfoEditTextWatcher implements TextWatcher {
private EditText mEditText;
public UserInfoEditTextWatcher(EditText e) {
mEditText = e;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
int tvCount = s.length();
if (mEditText == mUserinfoNicknameEt) {
if (tvCount > 0) {
mUserinfoNicknameIv.setVisibility(View.VISIBLE);
} else {
mUserinfoNicknameIv.setVisibility(View.GONE);
}
} else {
if (tvCount > 0) {
mUserinfoContactIv.setVisibility(View.VISIBLE);
} else {
mUserinfoContactIv.setVisibility(View.GONE);
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
}
}