第N次提交

This commit is contained in:
xuhuixiang
2025-04-23 14:00:01 +08:00
parent 216fcf8237
commit c90b40d5ef
26 changed files with 2620 additions and 75 deletions

View File

@@ -273,6 +273,14 @@
android:theme="@style/AppThemeStart"> android:theme="@style/AppThemeStart">
</activity>
<activity
android:name=".main.mine.BuyAccountActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@style/AppThemeStart">
</activity> </activity>
<activity <activity
android:name=".contact.FunBlackListActivity" android:name=".contact.FunBlackListActivity"
@@ -536,6 +544,38 @@
android:theme="@style/AppThemeStart"> android:theme="@style/AppThemeStart">
</activity> </activity>
<activity
android:name=".wallet.ShiMingActivity"
android:exported="true"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".wallet.BankListActivity"
android:exported="true"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".wallet.AddBankActivity"
android:exported="true"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".wallet.ToBindWeChatOrAliPayActivity"
android:exported="true"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".wallet.BindWeChatOrAliPayActivity"
android:exported="true"
android:screenOrientation="portrait">
</activity>
<activity <activity
android:name=".wallet.WalletInfoActivity" android:name=".wallet.WalletInfoActivity"
android:exported="true" android:exported="true"

View File

@@ -218,53 +218,53 @@ public class IMApplication extends MultiDexApplication {
private void initLang() { private void initLang() {
if (DataUtils.get(getAppContext(), "locale", -1) == -1) {//如果一次都没有设置则需要默认设置一次以便Activity中生效 if (DataUtils.get(getAppContext(), "locale", -1) == -1) {//如果一次都没有设置则需要默认设置一次以便Activity中生效
// PreferencesToolkits.getNew(getAppContext(),"locale",0); // PreferencesToolkits.getNew(getAppContext(),"locale",0);
if (Locale.getDefault().getCountry().equals(Locale.TAIWAN.getCountry())) { // if (Locale.getDefault().getCountry().equals(Locale.TAIWAN.getCountry())) {
DataUtils.set(getAppContext(), "locale", 0); // DataUtils.set(getAppContext(), "locale", 0);
} else if (Locale.getDefault().equals(Locale.ENGLISH)) { // } else if (Locale.getDefault().equals(Locale.ENGLISH)) {
DataUtils.set(getAppContext(), "locale", 2); // DataUtils.set(getAppContext(), "locale", 2);
} else if (Locale.getDefault().equals(Locale.JAPANESE)) { // } else if (Locale.getDefault().equals(Locale.JAPANESE)) {
DataUtils.set(getAppContext(), "locale", 3); // DataUtils.set(getAppContext(), "locale", 3);
} else { // } else {
DataUtils.set(getAppContext(), "locale", 1); DataUtils.set(getAppContext(), "locale", 1);
} // }
} }
int loc = DataUtils.get(getAppContext(), "locale", -1); int loc = DataUtils.get(getAppContext(), "locale", -1);
ChatDataUtils.set(getAppContext(), "locale", loc); ChatDataUtils.set(getAppContext(), "locale", loc);
LogUtils.i("下标:" + loc); LogUtils.i("下标:" + loc);
switch (loc) { // switch (loc) {
case 0: // case 0:
LanguageUtils.updateAppContextLanguage(Locale.TRADITIONAL_CHINESE, null); // LanguageUtils.updateAppContextLanguage(Locale.TRADITIONAL_CHINESE, null);
applyLanguage(Resources.getSystem(), Locale.TRADITIONAL_CHINESE); // applyLanguage(Resources.getSystem(), Locale.TRADITIONAL_CHINESE);
//修复StringUtils获取string的语言 // //修复StringUtils获取string的语言
applyLanguage(this.getResources(), Locale.TRADITIONAL_CHINESE); // applyLanguage(this.getResources(), Locale.TRADITIONAL_CHINESE);
break; // break;
//
case 1: // case 1:
LanguageUtils.updateAppContextLanguage(Locale.CHINESE, null); LanguageUtils.updateAppContextLanguage(Locale.CHINESE, null);
applyLanguage(Resources.getSystem(), Locale.CHINESE); applyLanguage(Resources.getSystem(), Locale.CHINESE);
//修复StringUtils获取string的语言 //修复StringUtils获取string的语言
applyLanguage(this.getResources(), Locale.CHINESE); applyLanguage(this.getResources(), Locale.CHINESE);
break; // break;
//
case 2: // case 2:
LanguageUtils.updateAppContextLanguage(Locale.ENGLISH, null); // LanguageUtils.updateAppContextLanguage(Locale.ENGLISH, null);
applyLanguage(Resources.getSystem(), Locale.ENGLISH); // applyLanguage(Resources.getSystem(), Locale.ENGLISH);
//修复StringUtils获取string的语言 // //修复StringUtils获取string的语言
applyLanguage(this.getResources(), Locale.ENGLISH); // applyLanguage(this.getResources(), Locale.ENGLISH);
break; // break;
//
case 3: // case 3:
LanguageUtils.updateAppContextLanguage(Locale.JAPANESE, null); // LanguageUtils.updateAppContextLanguage(Locale.JAPANESE, null);
applyLanguage(Resources.getSystem(), Locale.JAPANESE); // applyLanguage(Resources.getSystem(), Locale.JAPANESE);
//修复StringUtils获取string的语言 // //修复StringUtils获取string的语言
applyLanguage(this.getResources(), Locale.JAPANESE); // applyLanguage(this.getResources(), Locale.JAPANESE);
//修复StringUtils获取string的语言 // //修复StringUtils获取string的语言
break; // break;
//
//
} // }
} }

View File

@@ -510,6 +510,8 @@ public class JsBridgeActivity extends BaseActivity {
Map<String, Object> map1 = new HashMap<>(); Map<String, Object> map1 = new HashMap<>();
map1.put("code", 0); map1.put("code", 0);
map1.put("error", "金币被封禁"); map1.put("error", "金币被封禁");
callBackFunction.onCallBack(GsonUtils.beanToJSONString(map1));
toRengong(); toRengong();
return; return;
} }

View File

@@ -0,0 +1,447 @@
package com.hbl.lewan.main.mine;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.text.TextUtils;
import android.view.View;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import com.codersun.fingerprintcompat.AonFingerChangeCallback;
import com.codersun.fingerprintcompat.FingerManager;
import com.codersun.fingerprintcompat.SimpleFingerCheckCallback;
import com.hbl.lewan.IMApplication;
import com.hbl.lewan.IMUIKitConfig;
import com.hbl.lewan.R;
import com.hbl.lewan.databinding.ActivityBuyAccountBinding;
import com.hbl.lewan.databinding.ActivityShimingBinding;
import com.hbl.lewan.dialog.ActionConfirmDialog;
import com.hbl.lewan.dialog.PayCashDialog;
import com.hbl.lewan.dialog.PayCashFingerDialog;
import com.hbl.lewan.dialog.PayDialog;
import com.hbl.lewan.dialog.SelectPayTypeDialog;
import com.hbl.lewan.game.JsBridgeActivity;
import com.hbl.lewan.model.BindBean;
import com.hbl.lewan.model.LoginBean;
import com.hbl.lewan.model.PayInfoBean;
import com.hbl.lewan.model.StaffServiceIdBean;
import com.hbl.lewan.model.TopUpBean;
import com.hbl.lewan.model.WalletBean;
import com.hbl.lewan.network.Api;
import com.hbl.lewan.network.BaseObserver;
import com.hbl.lewan.network.Result;
import com.hbl.lewan.pay.CollectionAndPaymentActivity;
import com.hbl.lewan.utils.DataUtils;
import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.LogUtils;
import com.hbl.lewan.wallet.SetPayPasswordActivity;
import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
import com.netease.yunxin.kit.common.ui.utils.ToastX;
import com.netease.yunxin.kit.corekit.im.IMKitClient;
import java.util.HashMap;
import java.util.Map;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
public class BuyAccountActivity extends BaseActivity implements SelectPayTypeDialog.OnToTypeListener{
ActivityBuyAccountBinding viewBinding;
WalletBean walletBean;
BindBean bindBean;
PayCashDialog payDialog;
PayCashFingerDialog payCashFingerDialog;
private int payType = 0;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
getWindow().setDecorFitsSystemWindows(false);
} else {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}
getWindow().setStatusBarColor(Color.TRANSPARENT);
super.onCreate(savedInstanceState);
viewBinding = ActivityBuyAccountBinding.inflate(getLayoutInflater());
setContentView(viewBinding.getRoot());
payType = DataUtils.get(this,"pay_type",0);
initView();
getWallet();
bindInfo();
}
private void bindInfo() {
Api.getInstance().bindInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<BindBean>>() {
@Override
public void onSuccess(Result<BindBean> feedbackResp) {
bindBean = feedbackResp.data;
LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
}
@Override
public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
}
});
}
protected void initView() {
viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
Drawable drawable = viewBinding.contactListActivityTitleBar.getBackImageView().getDrawable().mutate();//
Drawable wrap = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(wrap, ContextCompat.getColor(this,R.color.white));
viewBinding.contactListActivityTitleBar.getBackImageView().setImageDrawable(wrap);
viewBinding.sumbitBt.setOnClickListener(v -> {
// if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){
// ToastX.showShortToast("请输入您的真实姓名");
// return;
// }
//
// if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){
// ToastX.showShortToast("请输入您本人的身份证号码");
// return;
// }
LoginBean loginBean = DataUtils.getLocUserInfo();
if (loginBean != null && loginBean.getUser() != null) {
if (loginBean.getUser().getForbidQCoin() == 1) {
Map<String, Object> map1 = new HashMap<>();
map1.put("code", 0);
map1.put("error", "金币被封禁");
toRengong();
return;
}
// PayDialog payDialog = new PayDialog(BuyAccountActivity.this, "68", false);
// payDialog.setOntoAlbumListener(new PayDialog.OnListItemClickListener() {
// @Override
// public void onPayPass(String position) {
//
// }
//
// @Override
// public void dimess() {
//
// }
// });
// payDialog.show();
if (DataUtils.get(BuyAccountActivity.this, "hasFinger", false)) {
showPayCashFingerDialog();
} else {
showPayCashDialog();
}
}
});
}
private void showPayCashDialog() {
payDialog = new PayCashDialog(BuyAccountActivity.this,"68",true,0,walletBean,
null,2,"购买副号");
//免密支付的 要告诉 为什么 没有免密
// if(DataUtils.get(BuyAccountActivity.this, "hasMianMi", false)){
// payDialog = new PayCashDialog(BuyAccountActivity.this,"68",true,0,walletBean,
// null,2,"购买副号",getString(R.string.zfjecgxz_txt));
// }
payDialog.setOntoAlbumListener(new PayCashDialog.OnListItemClickListener() {
@Override
public void onPayPass(String position) {
toChange(position,false);
}
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onChangeFinger() {
showPayCashFingerDialog();
}
@Override
public void dimess() {
// ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this,
// getString(R.string.quxiaozhifu_dialog_txt),true);
// actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
// @Override
// public void toSumbit() {
// cancelPay();
// }
//
// @Override
// public void toCancel() {
// actionDialog.dismiss();
payDialog.dismiss();
// }
// });
// actionDialog.show();
}
});
payDialog.show();
}
private void showPayCashFingerDialog() {
//Context context, String data, boolean showNumber, int payType, WalletBean walletBean, SelectPayTypeDialog.OnToTypeListener onToTypeListener, int isShowFinger
payCashFingerDialog = new PayCashFingerDialog(this,"68",true,
0,walletBean,null,2,"购买副号");
payCashFingerDialog.setOntoAlbumListener(new PayCashFingerDialog.OnListItemClickListener() {
@Override
public void onChangePassword() {
showPayCashDialog();
}
@Override
public void toFinger() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
checkPayFinger();
}
}
@Override
public void dimess() {
// ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this,
// getString(R.string.quxiaozhifu_dialog_txt),true);
// actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
// @Override
// public void toSumbit() {
// cancelPay();
// }
//
// @Override
// public void toCancel() {
// actionDialog.dismiss();
payCashFingerDialog.dismiss();
// }
// });
// actionDialog.show();
}
});
payCashFingerDialog.show();
}
private void cancelPay() {
}
@RequiresApi(api = Build.VERSION_CODES.M)
private void checkPayFinger() {
FingerManager.build().setApplication(IMApplication.getInstance())
.setTitle(" ")
.setDes(" ")
.setNegativeText(" ")
.setFingerCheckCallback(new SimpleFingerCheckCallback()
{
@Override
public void onSucceed()
{
ToastX.showShortToast("验证成功");
payCashFingerDialog.dismiss();
toChange(null,false);
}
@Override
public void onError(String error)
{
ToastX.showShortToast("验证失败");
}
@Override
public void onCancel()
{
ToastX.showShortToast("您取消了识别");
}
})
.setFingerChangeCallback(new AonFingerChangeCallback()
{
@Override
protected void onFingerDataChange()
{
// ToastX.showShortToast("指纹数据发生了变化");
FingerManager.updateFingerData(BuyAccountActivity.this);
new Handler().postDelayed(() -> checkPayFinger(), 1000);
}
})
.create()
.startListener(BuyAccountActivity.this);
}
private void toChange(String password,boolean isMianMi) {
}
private void toRengong() {
ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this, getString(R.string.ndqbbdj_txt), getString(R.string.general_got_it),
getString(R.string.lxkh_txt),false);
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
toKefu();
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
public void toKefu() {
Api.getInstance().helpCenterStaffServiceId(IMUIKitConfig.SUBSTATIONID, 1)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<StaffServiceIdBean>>() {
@Override
public void onSuccess(Result<StaffServiceIdBean> feedbackResp) {
toRengongCallTop(feedbackResp.data.getStaffServiceId(), feedbackResp.data.getStaffServiceNickname());
}
@Override
public void onError(int code, String msg) {
// WidgetUtils.showToast(JsBridgeActivity.this, msg, WidgetUtils.ToastType.ERROR);
// toRengongCall(400227);
ToastX.showShortToast(msg);
}
});
}
public void toRengongCallTop(Integer staffServiceId, String name) {
// Intent i = IntentFactory.createTempChatIntent(JsBridgeActivity.this, staffServiceId+"", name);
// startActivity(i);
}
private void showDialogPay() {
com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BuyAccountActivity.this,
getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
// intent.putExtra("type", 5);
// startActivity(intent);
Intent intent = new Intent(BuyAccountActivity.this, SetPayPasswordActivity.class);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void showDialog() {
ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this,
getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
Intent intent = new Intent(BuyAccountActivity.this, ChangeAccoutActionActivity.class);
intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void getWallet() {
Api.getInstance().walletInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<WalletBean>>() {
@Override
public void onSuccess(Result<WalletBean> feedbackResp) {
walletBean = feedbackResp.data;
changeInfo();
}
@Override
public void onError(int code, String msg) {
}
});
}
private void changeInfo() {
if (walletBean != null) {
// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
}
}
@Override
protected void onStop() {
super.onStop();
}
@Override
public void toType(int type) {
DataUtils.set(BuyAccountActivity.this,"pay_type",type);
payType = type;
changePayType();
}
private void changePayType() {
// viewBinding.yueTv.setVisibility(View.INVISIBLE);
// if(payType == 0){
// viewBinding.payTypeTv.setText(R.string.species_txt);
// viewBinding.yueTv.setVisibility(View.VISIBLE);
// viewBinding.payTypeIv.setImageResource(R.mipmap.wallet_jinbi_img);
// }else if(payType == 1){
// viewBinding.payTypeTv.setText("line pay");
// viewBinding.payTypeIv.setImageResource(R.mipmap.line_pay_img);
// }else{
// viewBinding.payTypeTv.setText(R.string.neweb_txt);
// viewBinding.payTypeIv.setImageResource(R.mipmap.newebpay_img);
// }
}
}

View File

@@ -56,6 +56,7 @@ import com.hbl.lewan.utils.LogUtils;
import com.hbl.lewan.wallet.GiftInfoActivity; import com.hbl.lewan.wallet.GiftInfoActivity;
import com.hbl.lewan.wallet.MyWalletActivity; import com.hbl.lewan.wallet.MyWalletActivity;
import com.hbl.lewan.wallet.PaySettingActivity; import com.hbl.lewan.wallet.PaySettingActivity;
import com.hbl.lewan.wallet.ShiMingActivity;
import com.hbl.lewan.wallet.WalletInfoActivity; import com.hbl.lewan.wallet.WalletInfoActivity;
import com.hbl.lewan.welcome.WelcomeActivity; import com.hbl.lewan.welcome.WelcomeActivity;
//import com.king.app.updater.AppUpdater; //import com.king.app.updater.AppUpdater;
@@ -249,6 +250,22 @@ public class MineFragment extends BaseFragment {
actionConfirmDialog.show(); actionConfirmDialog.show();
}); });
binding.tvChange.setOnClickListener(v -> {
ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(getActivity(), "当前没有副号,是否需要购买", "取消","购买",true);
actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
startActivity(new Intent(getActivity(), BuyAccountActivity.class));
}
@Override
public void toCancel() {
}
});
actionConfirmDialog.show();
});
binding.friendTv.setOnClickListener(v -> startActivity(new Intent(getActivity(), FriendPermissionsActivity.class))); binding.friendTv.setOnClickListener(v -> startActivity(new Intent(getActivity(), FriendPermissionsActivity.class)));
binding.toMerchantTv.setOnClickListener(v -> { binding.toMerchantTv.setOnClickListener(v -> {

View File

@@ -0,0 +1,151 @@
package com.hbl.lewan.wallet;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.Nullable;
import com.hbl.lewan.R;
import com.hbl.lewan.databinding.ActivityAddBankBinding;
import com.hbl.lewan.databinding.ActivityShimingBinding;
import com.hbl.lewan.dialog.ActionConfirmDialog;
import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
import com.hbl.lewan.model.BindBean;
import com.hbl.lewan.model.WalletBean;
import com.hbl.lewan.network.Api;
import com.hbl.lewan.network.BaseObserver;
import com.hbl.lewan.network.Result;
import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.LogUtils;
import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
import com.netease.yunxin.kit.corekit.im.IMKitClient;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
public class AddBankActivity extends BaseActivity {
ActivityAddBankBinding viewBinding;
WalletBean walletBean;
BindBean bindBean;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewBinding = ActivityAddBankBinding.inflate(getLayoutInflater());
setContentView(viewBinding.getRoot());
initView();
getWallet();
bindInfo();
}
private void bindInfo() {
Api.getInstance().bindInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<>() {
@Override
public void onSuccess(Result<BindBean> feedbackResp) {
bindBean = feedbackResp.data;
LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
}
@Override
public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
}
});
}
protected void initView() {
viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
}
private void showDialogPay() {
com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(AddBankActivity.this,
getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
// intent.putExtra("type", 5);
// startActivity(intent);
Intent intent = new Intent(AddBankActivity.this, SetPayPasswordActivity.class);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void showDialog() {
ActionConfirmDialog actionDialog = new ActionConfirmDialog(AddBankActivity.this,
getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
Intent intent = new Intent(AddBankActivity.this, ChangeAccoutActionActivity.class);
intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void getWallet() {
Api.getInstance().walletInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<>() {
@Override
public void onSuccess(Result<WalletBean> feedbackResp) {
walletBean = feedbackResp.data;
changeInfo();
}
@Override
public void onError(int code, String msg) {
}
});
}
private void changeInfo() {
if (walletBean != null) {
// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
}
}
@Override
protected void onStop() {
super.onStop();
}
}

View File

@@ -0,0 +1,154 @@
package com.hbl.lewan.wallet;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.Nullable;
import com.hbl.lewan.R;
import com.hbl.lewan.databinding.ActivityBankListBinding;
import com.hbl.lewan.databinding.ActivityShimingBinding;
import com.hbl.lewan.dialog.ActionConfirmDialog;
import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
import com.hbl.lewan.model.BindBean;
import com.hbl.lewan.model.WalletBean;
import com.hbl.lewan.network.Api;
import com.hbl.lewan.network.BaseObserver;
import com.hbl.lewan.network.Result;
import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.LogUtils;
import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
import com.netease.yunxin.kit.corekit.im.IMKitClient;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
public class BankListActivity extends BaseActivity {
ActivityBankListBinding viewBinding;
WalletBean walletBean;
BindBean bindBean;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewBinding = ActivityBankListBinding.inflate(getLayoutInflater());
setContentView(viewBinding.getRoot());
initView();
getWallet();
bindInfo();
}
private void bindInfo() {
Api.getInstance().bindInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<BindBean>>() {
@Override
public void onSuccess(Result<BindBean> feedbackResp) {
bindBean = feedbackResp.data;
LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
}
@Override
public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
}
});
}
protected void initView() {
viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
viewBinding.addBankBt.setOnClickListener(v -> startActivity(new Intent(BankListActivity.this, AddBankActivity.class)));
}
private void showDialogPay() {
com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BankListActivity.this,
getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
// intent.putExtra("type", 5);
// startActivity(intent);
Intent intent = new Intent(BankListActivity.this, SetPayPasswordActivity.class);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void showDialog() {
ActionConfirmDialog actionDialog = new ActionConfirmDialog(BankListActivity.this,
getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
Intent intent = new Intent(BankListActivity.this, ChangeAccoutActionActivity.class);
intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void getWallet() {
Api.getInstance().walletInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<WalletBean>>() {
@Override
public void onSuccess(Result<WalletBean> feedbackResp) {
walletBean = feedbackResp.data;
changeInfo();
}
@Override
public void onError(int code, String msg) {
}
});
}
private void changeInfo() {
if (walletBean != null) {
// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
}
}
@Override
protected void onStop() {
super.onStop();
}
}

View File

@@ -0,0 +1,479 @@
package com.hbl.lewan.wallet;
import android.Manifest;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide;
import com.hbl.lewan.R;
import com.hbl.lewan.databinding.ActivityBindWechatAlipayBinding;
import com.hbl.lewan.databinding.ActivityShimingBinding;
import com.hbl.lewan.dialog.ActionConfirmDialog;
import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
import com.hbl.lewan.model.BindBean;
import com.hbl.lewan.model.WalletBean;
import com.hbl.lewan.network.Api;
import com.hbl.lewan.network.BaseObserver;
import com.hbl.lewan.network.Result;
import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.LogUtils;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.interfaces.OnResultCallbackListener;
import com.luck.picture.lib.style.BottomNavBarStyle;
import com.luck.picture.lib.style.PictureSelectorStyle;
import com.luck.picture.lib.style.SelectMainStyle;
import com.luck.picture.lib.style.TitleBarStyle;
import com.netease.yunxin.kit.chatkit.ui.common.GlideEngine;
import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
import com.netease.yunxin.kit.common.ui.dialog.LoadingDialog;
import com.netease.yunxin.kit.common.ui.photo.PhotoPicker;
import com.netease.yunxin.kit.common.ui.utils.CommonCallback;
import com.netease.yunxin.kit.common.ui.utils.Permission;
import com.netease.yunxin.kit.common.ui.utils.ToastX;
import com.netease.yunxin.kit.common.utils.PermissionUtils;
import com.netease.yunxin.kit.contactkit.ui.utils.ColorUtils;
import com.netease.yunxin.kit.corekit.im.IMKitClient;
import com.qiniu.android.storage.Configuration;
import com.qiniu.android.storage.UploadManager;
import com.qiniu.android.storage.UploadOptions;
import org.json.JSONException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
public class BindWeChatOrAliPayActivity extends BaseActivity{
ActivityBindWechatAlipayBinding viewBinding;
WalletBean walletBean;
BindBean bindBean;
boolean isWeChat = true;
protected ActivityResultLauncher<String[]> permissionLauncher;
File imageFile = null;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewBinding = ActivityBindWechatAlipayBinding.inflate(getLayoutInflater());
setContentView(viewBinding.getRoot());
isWeChat = getIntent().getBooleanExtra("isWeChat", true);
permissionLauncher =
registerForActivityResult(
new ActivityResultContracts.RequestMultiplePermissions(),
result -> {
if (result != null) {
for (Map.Entry<String, Boolean> entry : result.entrySet()) {
String permission = entry.getKey().toString();
boolean grant = (Boolean) entry.getValue();
if (grant) {
if (TextUtils.equals(
permission, Manifest.permission.READ_EXTERNAL_STORAGE) || TextUtils.equals(
permission, Manifest.permission.READ_MEDIA_IMAGES) || TextUtils.equals(
permission, Manifest.permission.READ_MEDIA_VIDEO)) {
startPickMedia();
}
} else {
if (shouldShowRequestPermissionRationale(permission)) {
ToastX.showShortToast(getString(com.netease.yunxin.kit.chatkit.ui.R.string.permission_deny_tips));
} else {
ToastX.showShortToast(getString(com.netease.yunxin.kit.chatkit.ui.R.string.permission_storage));
}
}
}
}
});
initView();
getWallet();
bindInfo();
}
private void startPickMedia() {
TitleBarStyle whiteTitleBarStyle = new TitleBarStyle();
whiteTitleBarStyle.setTitleBackgroundColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white));
whiteTitleBarStyle.setTitleDrawableRightResource(com.netease.yunxin.kit.chatkit.ui.R.drawable.ic_orange_arrow_down);
whiteTitleBarStyle.setTitleLeftBackResource(com.netease.yunxin.kit.common.ui.R.drawable.ic_back);
whiteTitleBarStyle.setTitleTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_black));
whiteTitleBarStyle.setTitleCancelTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e));
whiteTitleBarStyle.setDisplayTitleBarLine(true);
BottomNavBarStyle whiteBottomNavBarStyle = new BottomNavBarStyle();
// whiteBottomNavBarStyle.setBottomPreviewSelectText(getResources().getString(R.string.chat_team_ait_all));
whiteBottomNavBarStyle.setBottomNarBarBackgroundColor(Color.parseColor("#FFFFFF"));
whiteBottomNavBarStyle.setBottomPreviewSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e));
whiteBottomNavBarStyle.setBottomPreviewNormalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_9b));
whiteBottomNavBarStyle.setBottomPreviewSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.color_222222));
whiteBottomNavBarStyle.setCompleteCountTips(false);
whiteBottomNavBarStyle.setBottomEditorTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e));
whiteBottomNavBarStyle.setBottomOriginalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e));
SelectMainStyle selectMainStyle = new SelectMainStyle();
selectMainStyle.setStatusBarColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white));
selectMainStyle.setDarkStatusBarBlack(true);
selectMainStyle.setSelectNormalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_9b));
selectMainStyle.setSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.color_222222));
selectMainStyle.setPreviewSelectBackground(com.netease.yunxin.kit.chatkit.ui.R.drawable.ps_demo_white_preview_selector);
selectMainStyle.setSelectBackground(com.netease.yunxin.kit.chatkit.ui.R.drawable.ps_checkbox_selector);
// selectMainStyle.setSelectText(R.string.ps_done_front_num);
selectMainStyle.setMainListBackgroundColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white));
PictureSelectorStyle selectorStyle = new PictureSelectorStyle();
selectorStyle.setTitleBarStyle(whiteTitleBarStyle);
selectorStyle.setBottomBarStyle(whiteBottomNavBarStyle);
selectorStyle.setSelectMainStyle(selectMainStyle);
PictureSelector.create(this)
.openGallery(SelectMimeType.ofImage())
.setImageEngine(GlideEngine.createGlideEngine())
.setMaxSelectNum(1)
// .setMaxVideoSelectNum(9)
.setSelectorUIStyle(selectorStyle)
.forResult(new OnResultCallbackListener<LocalMedia>() {
@Override
public void onResult(ArrayList<LocalMedia> result) {
for (int i = 0; i < result.size(); ++i) {
LogUtils.i("地址是啥:" + result.get(i).getRealPath());
File file = new File(result.get(i).getRealPath());
toUpdateBg(file);
}
}
@Override
public void onCancel() {
}
});
}
private void bindInfo() {
Api.getInstance().bindInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<BindBean>>() {
@Override
public void onSuccess(Result<BindBean> feedbackResp) {
bindBean = feedbackResp.data;
LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
}
@Override
public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
}
});
}
protected void initView() {
viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
if (!isWeChat) {
viewBinding.contactListActivityTitleBar.getTitleTextView().setText("绑定支付宝");
viewBinding.typeNameTv.setText("支付宝账号");
viewBinding.typeImageTv.setText("上传支付宝收款码");
viewBinding.numberEt.setHint("请输入您本人使用的支付宝账号");
viewBinding.tipsTv.setText("*请勿上传截图的收款码,请在二维码收款界面,点击保存收款码,上传图片");
viewBinding.tips1Tv.setText("请务必绑定本人的支付宝账号");
}
viewBinding.imageIv.setOnClickListener(v -> choicePhoto());
viewBinding.sumbitBt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){
ToastX.showShortToast("请输入您的真实姓名");
return;
}
if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){
if(isWeChat){
ToastX.showShortToast("请输入您本人使用的微信账号");
}else{
ToastX.showShortToast("请输入您本人使用的支付宝账号");
}
return;
}
if(imageFile == null){
if(isWeChat){
ToastX.showShortToast("请上传微信收款码");
}else{
ToastX.showShortToast("请上传支付宝收款码");
}
return;
}
toShangchuanAli(imageFile);
}
});
}
private void choicePhoto() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
if (PermissionUtils.hasPermissions(
BindWeChatOrAliPayActivity.this, Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO)) {
startPickMedia();
} else {
permissionLauncher.launch(new String[]{Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO});
}
} else {
if (PermissionUtils.hasPermissions(
BindWeChatOrAliPayActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
startPickMedia();
} else {
permissionLauncher.launch(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE});
}
}
}
private void showDialogPay() {
com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BindWeChatOrAliPayActivity.this,
getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
// intent.putExtra("type", 5);
// startActivity(intent);
Intent intent = new Intent(BindWeChatOrAliPayActivity.this, SetPayPasswordActivity.class);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void showDialog() {
ActionConfirmDialog actionDialog = new ActionConfirmDialog(BindWeChatOrAliPayActivity.this,
getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
Intent intent = new Intent(BindWeChatOrAliPayActivity.this, ChangeAccoutActionActivity.class);
intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void getWallet() {
Api.getInstance().walletInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<WalletBean>>() {
@Override
public void onSuccess(Result<WalletBean> feedbackResp) {
walletBean = feedbackResp.data;
changeInfo();
}
@Override
public void onError(int code, String msg) {
}
});
}
private void changeInfo() {
if (walletBean != null) {
// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
}
}
@Override
protected void onStop() {
super.onStop();
}
private void toUpdateBg(File file) {
imageFile = file;
Glide.with(BindWeChatOrAliPayActivity.this)
.load(file.getAbsolutePath())
.into(viewBinding.imageIv);
// toShangchuanAli(file);
}
String stsCredentialsBean;
private void toShangchuanAli(File file) {
showLoadingDialog();
Api.getInstance().stsCredentials1()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<>() {
@Override
public void onSuccess(Result<String> feedbackResp) {
stsCredentialsBean = feedbackResp.data;
// toAliYunOss(file, isHead);
toQIiNiuYunOss(file);
}
@Override
public void onError(int code, String msg) {
dimessLoadingDialog();
ToastX.showShortToast(msg);
}
});
}
public LoadingDialog loadingDialog;
public void showLoadingDialog() {
if (loadingDialog == null)
loadingDialog = new LoadingDialog(this);
loadingDialog.show();
}
public void showLoadingDialog(String msg) {
if (loadingDialog == null)
loadingDialog = new LoadingDialog(this);
loadingDialog.setLoadingText(msg);
loadingDialog.show();
}
public void dimessLoadingDialog() {
if (loadingDialog != null) {
loadingDialog.dismiss();
}
}
private void toQIiNiuYunOss(File file ) {
String updatePathPic = isWeChat?"wechat":"alipay";
// new Handler().post(() -> QiNiuTool.upload(convertFileToBytes(file)));
UploadOptions options = new UploadOptions(null, null, true,
(key, percent) -> {
LogUtils.i("结果是啥进度:" + percent);
}, () -> {
LogUtils.i("结果是啥进度112222222111");
return false;
});
// Zone zone = FixedZone.zoneAs0;
Configuration configuration = new Configuration.Builder()
// .connectTimeout(10) // 链接超时。默认10秒
// .responseTimeout(60) // 服务器响应超时。默认60秒
// .zone(zone) // 设置区域不指定会自动选择。指定不同区域的上传域名、备用域名、备用IP。
.build();
UploadManager uploadManager = new UploadManager(configuration);
String fileName = UUID.randomUUID().toString() + "_" + file.getName();
LogUtils.i("结果是啥开始:" + stsCredentialsBean + ";;" + file.getAbsolutePath());
// Uri uri = FileUtils.getMediaUriFromPath(file.getAbsolutePath(),UserHeadEditActivity.this);
// GPX2hnRdNpAvovOSZGrhMxtaa6JP2mPvJ96-tdmD
// immchat
String files = "media/" + updatePathPic + "/" + fileName;
byte[] sss = convertFileToBytes(file);
LogUtils.i("结果是啥开始:" + sss);
uploadManager.put(sss, files, stsCredentialsBean, (key, info, response) -> {
// LogUtils.i("结果是啥2" + GsonUtils.beanToJSONString(info));
LogUtils.i("结果是啥2" + GsonUtils.beanToJSONString(response));
dimessLoadingDialog();
if (info != null && info.isOK()) {
// 上传成功
try {
LogUtils.i("地址是啥:" + response.getString("key"));
toPush("https://qn.hnsdl.com/" + response.getString("key"));
} catch (JSONException e) {
LogUtils.i("结果是啥失败:" +e);
}
} else {
// 上传失败
LogUtils.i("结果是啥失败:" + GsonUtils.beanToJSONString(info));
}
}, options);
}
private void toPush(String key) {
}
//
public static byte[] convertFileToBytes(File file) {
// 使用ByteArrayOutputStream来收集字节数据
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
byte[] bytesArray = new byte[(int) file.length()];
fis.read(bytesArray);
fis.close();
return bytesArray;
} catch (FileNotFoundException e) {
// throw new RuntimeException(e);
return null;
} catch (IOException e) {
// throw new RuntimeException(e);
return null;
}
}
}

View File

@@ -98,6 +98,18 @@ public class MyWalletActivity extends BaseActivity {
} }
} }
}); });
viewBinding.smrzBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, ShiMingActivity.class)));
viewBinding.wdyhkBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, BankListActivity.class)));
viewBinding.wdwxBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, ToBindWeChatOrAliPayActivity.class)));
viewBinding.wdzfbBt.setOnClickListener(v ->{
Intent i = new Intent(MyWalletActivity.this, ToBindWeChatOrAliPayActivity.class);
i.putExtra("isWeChat",false);
startActivity(i);
});
} }

View File

@@ -0,0 +1,197 @@
package com.hbl.lewan.wallet;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import com.hbl.lewan.IMApplication;
import com.hbl.lewan.IMUIKitConfig;
import com.hbl.lewan.R;
import com.hbl.lewan.databinding.ActivityShimingBinding;
import com.hbl.lewan.databinding.ActivityWalletInfoNewBinding;
import com.hbl.lewan.dialog.ActionConfirmDialog;
import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
import com.hbl.lewan.model.BindBean;
import com.hbl.lewan.model.WalletBean;
import com.hbl.lewan.network.Api;
import com.hbl.lewan.network.BaseObserver;
import com.hbl.lewan.network.Result;
import com.hbl.lewan.pay.LipinDuiHuanActivity;
import com.hbl.lewan.utils.AnimUtil;
import com.hbl.lewan.utils.AppUtils;
import com.hbl.lewan.utils.DataUtils;
import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.LogUtils;
import com.hbl.lewan.welcome.WelcomeActivity;
import com.netease.yunxin.kit.chatkit.ui.data.ChatDatabase;
import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
import com.netease.yunxin.kit.common.ui.utils.ToastX;
import com.netease.yunxin.kit.corekit.im.IMKitClient;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
public class ShiMingActivity extends BaseActivity {
ActivityShimingBinding viewBinding;
WalletBean walletBean;
BindBean bindBean;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewBinding = ActivityShimingBinding.inflate(getLayoutInflater());
setContentView(viewBinding.getRoot());
initView();
getWallet();
bindInfo();
}
private void bindInfo() {
Api.getInstance().bindInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<BindBean>>() {
@Override
public void onSuccess(Result<BindBean> feedbackResp) {
bindBean = feedbackResp.data;
LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
}
@Override
public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
}
});
}
protected void initView() {
viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
viewBinding.sumbitBt.setOnClickListener(v -> {
if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){
ToastX.showShortToast("请输入您的真实姓名");
return;
}
if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){
ToastX.showShortToast("请输入您本人的身份证号码");
return;
}
//Context context, String content, String cancel, String sure, boolean showCancel
ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(ShiMingActivity.this, "实名认证一经提交,无法更改,请务必确认填写的是真实资料", "取消","确认提交",true);
actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
}
@Override
public void toCancel() {
}
});
actionConfirmDialog.show();
});
}
private void showDialogPay() {
com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(ShiMingActivity.this,
getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
// intent.putExtra("type", 5);
// startActivity(intent);
Intent intent = new Intent(ShiMingActivity.this, SetPayPasswordActivity.class);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void showDialog() {
ActionConfirmDialog actionDialog = new ActionConfirmDialog(ShiMingActivity.this,
getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
Intent intent = new Intent(ShiMingActivity.this, ChangeAccoutActionActivity.class);
intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void getWallet() {
Api.getInstance().walletInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<WalletBean>>() {
@Override
public void onSuccess(Result<WalletBean> feedbackResp) {
walletBean = feedbackResp.data;
changeInfo();
}
@Override
public void onError(int code, String msg) {
}
});
}
private void changeInfo() {
if (walletBean != null) {
// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
}
}
@Override
protected void onStop() {
super.onStop();
}
}

View File

@@ -0,0 +1,176 @@
package com.hbl.lewan.wallet;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.Nullable;
import com.hbl.lewan.R;
import com.hbl.lewan.databinding.ActivityShimingBinding;
import com.hbl.lewan.databinding.ActivityToBindWechatAlipayBinding;
import com.hbl.lewan.dialog.ActionConfirmDialog;
import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
import com.hbl.lewan.model.BindBean;
import com.hbl.lewan.model.WalletBean;
import com.hbl.lewan.network.Api;
import com.hbl.lewan.network.BaseObserver;
import com.hbl.lewan.network.Result;
import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.LogUtils;
import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
import com.netease.yunxin.kit.corekit.im.IMKitClient;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
public class ToBindWeChatOrAliPayActivity extends BaseActivity {
ActivityToBindWechatAlipayBinding viewBinding;
WalletBean walletBean;
BindBean bindBean;
boolean isWeChat = true;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewBinding = ActivityToBindWechatAlipayBinding.inflate(getLayoutInflater());
setContentView(viewBinding.getRoot());
isWeChat =getIntent().getBooleanExtra("isWeChat",true);
initView();
getWallet();
bindInfo();
}
private void bindInfo() {
Api.getInstance().bindInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<BindBean>>() {
@Override
public void onSuccess(Result<BindBean> feedbackResp) {
bindBean = feedbackResp.data;
LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
}
@Override
public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
}
});
}
protected void initView() {
viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
if(!isWeChat){
viewBinding.contactListActivityTitleBar.getTitleTextView().setText("我的支付宝");
viewBinding.tipsTv.setText("还没有绑定支付宝");
viewBinding.tipsTv1.setText("支付宝账号一经绑定,无法修改,若必须修改,如收款码过期等问题,请联系客服进行调整");
}
viewBinding.sumbitBt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(ToBindWeChatOrAliPayActivity.this, BindWeChatOrAliPayActivity.class);
i.putExtra("isWeChat",isWeChat);
startActivityForResult(i,888);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 888&&resultCode == RESULT_OK){
}
}
private void showDialogPay() {
com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(ToBindWeChatOrAliPayActivity.this,
getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
// intent.putExtra("type", 5);
// startActivity(intent);
Intent intent = new Intent(ToBindWeChatOrAliPayActivity.this, SetPayPasswordActivity.class);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void showDialog() {
ActionConfirmDialog actionDialog = new ActionConfirmDialog(ToBindWeChatOrAliPayActivity.this,
getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
Intent intent = new Intent(ToBindWeChatOrAliPayActivity.this, ChangeAccoutActionActivity.class);
intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
startActivity(intent);
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
private void getWallet() {
Api.getInstance().walletInfo(IMKitClient.account())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<WalletBean>>() {
@Override
public void onSuccess(Result<WalletBean> feedbackResp) {
walletBean = feedbackResp.data;
changeInfo();
}
@Override
public void onError(int code, String msg) {
}
});
}
private void changeInfo() {
if (walletBean != null) {
// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
}
}
@Override
protected void onStop() {
super.onStop();
}
}

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient android:startColor="@color/color_themeblue"
android:endColor="@color/color_themeblue"
android:centerColor="@color/color_themeblue"
android:type="linear"
/>
<stroke android:width="0dp" android:color="@color/color_themeblue" />
<corners android:radius="25dp"/>
</shape>
</item>
<!-- <item android:width="24dp"-->
<!-- android:height="24dp" android:gravity="center">-->
<!-- <shape android:shape="oval" >-->
<!-- <solid android:color="#EDEDED"/>-->
<!-- <size android:width="24dp"-->
<!-- android:height="24dp"/>-->
<!-- </shape>-->
<!-- </item>-->
</layer-list>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient android:startColor="#FE6881"
android:endColor="#FE6881"
android:centerColor="#FE6881"
android:type="linear"
/>
<stroke android:width="0dp" android:color="@color/color_themeblue" />
<corners android:radius="25dp"/>
</shape>
</item>
<!-- <item android:width="24dp"-->
<!-- android:height="24dp" android:gravity="center">-->
<!-- <shape android:shape="oval" >-->
<!-- <solid android:color="#EDEDED"/>-->
<!-- <size android:width="24dp"-->
<!-- android:height="24dp"/>-->
<!-- </shape>-->
<!-- </item>-->
</layer-list>

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:id="@+id/big_bg"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical">
<com.netease.yunxin.kit.common.ui.widgets.BackTitleBar
android:id="@+id/contact_list_activity_titleBar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:titleText="添加银行卡"
app:titleTextColor="@android:color/black" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#FFE5E5"
android:gravity="center_vertical"
android:paddingStart="@dimen/dp_15"
android:paddingRight="@dimen/dp_15"
android:lines="1"
android:ellipsize="end"
android:text="请填写您本人的银行卡信息"
android:textColor="#ffff2b2b"
android:textSize="14sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/dp_15"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名"
android:textColor="#ff383838"
android:textSize="14sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:background="@color/transparent"
android:hint ="请输入您的真实姓名"
android:textColorHint="#ff999999"
android:textSize="18sp"
android:id="@+id/name_et"
android:layout_marginTop="10dp"
android:textColor="@color/black"
/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="银行卡号"
android:layout_marginTop="@dimen/dp_20"
android:textColor="#ff383838"
android:textSize="14sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginTop="10dp"
android:id="@+id/number_et"
android:gravity="center_vertical"
android:background="@color/transparent"
android:hint ="请输入您本人的银行卡号"
android:textColorHint="#ff999999"
android:textSize="18sp"
android:textColor="@color/black"
/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="所属银行"
android:layout_marginTop="@dimen/dp_20"
android:textColor="#ff383838"
android:textSize="14sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginTop="10dp"
android:id="@+id/bank_et"
android:gravity="center_vertical"
android:background="@color/transparent"
android:hint ="请输入所属银行"
android:textColorHint="#ff999999"
android:textSize="18sp"
android:textColor="@color/black"
/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:id="@+id/tips_tv"
android:visibility="invisible"
android:text="实名认证无法自行修改,如需修改请联系客服人员"
android:textColor="#ffff2b2b"
android:textSize="14sp"
/>
<Button
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="@dimen/dp_30"
android:text="提交"
android:id="@+id/sumbit_bt"
android:background="@drawable/button_true_bg1"
android:textColor="#fff6f8fd"
android:textSize="16sp"
/>
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/big_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical">
<com.netease.yunxin.kit.common.ui.widgets.BackTitleBar
android:id="@+id/contact_list_activity_titleBar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:titleText="银行卡"
app:titleTextColor="@android:color/black" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/recycler"/>
<LinearLayout
android:id="@+id/nodata_ly"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/no_bank_img"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="还没有绑定银行卡,快去添加吧"
android:layout_marginTop="20dp"
android:textColor="#ff383838"
android:textSize="14sp"
/>
</LinearLayout>
<Button
android:id="@+id/add_bank_bt"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_60"
android:layout_marginEnd="@dimen/dp_15"
android:background="@drawable/button_true_bg1"
android:text="+ 添加新银行卡"
android:textColor="#fff6f8fd"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:id="@+id/big_bg"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical">
<com.netease.yunxin.kit.common.ui.widgets.BackTitleBar
android:id="@+id/contact_list_activity_titleBar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:titleText="绑定微信号"
app:titleTextColor="@android:color/black" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#FFE5E5"
android:gravity="center_vertical"
android:paddingStart="@dimen/dp_15"
android:paddingRight="@dimen/dp_15"
android:lines="1"
android:ellipsize="end"
android:id="@+id/tips1_tv"
android:text="请务必绑定本人的微信号"
android:textColor="#ffff2b2b"
android:textSize="14sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/dp_15"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名"
android:textColor="#ff383838"
android:textSize="14sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:background="@color/transparent"
android:hint ="请输入您的真实姓名"
android:textColorHint="#ff999999"
android:textSize="18sp"
android:id="@+id/name_et"
android:layout_marginTop="10dp"
android:textColor="@color/black"
/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="微信号"
android:id="@+id/type_name_tv"
android:layout_marginTop="@dimen/dp_20"
android:textColor="#ff383838"
android:textSize="14sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginTop="10dp"
android:id="@+id/number_et"
android:gravity="center_vertical"
android:background="@color/transparent"
android:hint ="请输入您本人使用的微信账号"
android:textColorHint="#ff999999"
android:textSize="18sp"
android:textColor="@color/black"
/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上传微信收款码"
android:id="@+id/type_image_tv"
android:layout_marginTop="@dimen/dp_20"
android:textColor="#ff383838"
android:textSize="14sp"
/>
<com.hbl.lewan.widget.CircleImageView
android:layout_width="@dimen/dp_110"
android:layout_height="@dimen/dp_110"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
app:es_shape_type="rectangle"
app:ease_radius="@dimen/dp_5"
android:id="@+id/image_iv"
android:src="@mipmap/add_img_wallet"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
android:id="@+id/tips_tv"
android:text="*请勿上传截图的收款码,请在二维码收款界面,点击保存收款码,上传图片"
android:textColor="#999999"
android:textSize="14sp"
/>
<Button
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="@dimen/dp_30"
android:text="确定"
android:id="@+id/sumbit_bt"
android:background="@drawable/button_true_bg1"
android:textColor="#fff6f8fd"
android:textSize="16sp"
/>
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/big_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@mipmap/bug_number_top_img"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/dp_15">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择号码(此号码作为登录账号)"
android:textColor="#ff383838"
android:textSize="14sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<EditText
android:id="@+id/name_et"
android:layout_width="match_parent"
android:layout_height="44dp"
android:background="@color/transparent"
android:gravity="center_vertical"
android:hint="请输入前缀"
android:textColor="@color/black"
android:textColorHint="#ff999999"
android:textSize="18sp" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="##"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:textColor="#ff333333"
android:textSize="16sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<EditText
android:id="@+id/name_et1"
android:layout_width="match_parent"
android:layout_height="44dp"
android:background="@color/transparent"
android:gravity="center_vertical"
android:hint="请输入后缀"
android:textColor="@color/black"
android:textColorHint="#ff999999"
android:textSize="18sp" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
</LinearLayout>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="输入前缀和后缀,中间两位数由系统自动生成"
android:textColor="#999999"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:text="设置密码"
android:textColor="#ff383838"
android:textSize="14sp" />
<EditText
android:id="@+id/number_et"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginTop="10dp"
android:background="@color/transparent"
android:gravity="center_vertical"
android:hint="请输入您想要设置的密码"
android:textColor="@color/black"
android:inputType="textPassword"
android:textColorHint="#ff999999"
android:textSize="18sp" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:text="确认密码"
android:textColor="#ff383838"
android:textSize="14sp" />
<EditText
android:id="@+id/number_et1"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginTop="10dp"
android:background="@color/transparent"
android:gravity="center_vertical"
android:hint="请再次输入密码"
android:inputType="textPassword"
android:textColor="@color/black"
android:textColorHint="#ff999999"
android:textSize="18sp" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:id="@+id/tips_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="设置完成后,所有副号的密码都会统一为此密码,若想针对单独副号进行修改,请切换到副号中进行修改"
android:textColor="#999999"
android:textSize="14sp" />
<Button
android:id="@+id/sumbit_bt"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="@dimen/dp_60"
android:background="@drawable/button_true_bg11"
android:text="立即购买"
android:textColor="#fff6f8fd"
android:textSize="16sp" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.hbl.lewan.widget.StatusLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<com.netease.yunxin.kit.common.ui.widgets.BackTitleBar
android:id="@+id/contact_list_activity_titleBar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
app:layout_constraintTop_toTopOf="parent"
app:titleTextColor="@android:color/black" />
</LinearLayout>
</RelativeLayout>

View File

@@ -262,19 +262,19 @@
app:drawableLeftCompat="@mipmap/zhifubao" app:drawableLeftCompat="@mipmap/zhifubao"
app:drawableRightCompat="@drawable/ic_frame_mine_right_arrow" /> app:drawableRightCompat="@drawable/ic_frame_mine_right_arrow" />
</LinearLayout> </LinearLayout>
<View <!-- <View-->
android:layout_width="match_parent" <!-- android:layout_width="match_parent"-->
android:layout_height="1px" <!-- android:layout_height="1px"-->
android:layout_marginLeft="@dimen/dp_15" <!-- android:layout_marginLeft="@dimen/dp_15"-->
android:layout_marginRight="@dimen/dp_15" <!-- android:layout_marginRight="@dimen/dp_15"-->
android:background="#D8D8D8" /> <!-- android:background="#D8D8D8" />-->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_57" android:layout_height="@dimen/dp_57"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:visibility="visible"> android:visibility="gone">
<Button <Button
android:id="@+id/wdusdt_bt" android:id="@+id/wdusdt_bt"

View File

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:id="@+id/big_bg"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical">
<com.netease.yunxin.kit.common.ui.widgets.BackTitleBar
android:id="@+id/contact_list_activity_titleBar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:titleText="实名认证"
app:titleTextColor="@android:color/black" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#FFE5E5"
android:gravity="center_vertical"
android:paddingStart="@dimen/dp_15"
android:paddingRight="@dimen/dp_15"
android:lines="1"
android:ellipsize="end"
android:text="根据相关法律,开通钱包功能需先进行实名认证"
android:textColor="#ffff2b2b"
android:textSize="14sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/dp_15"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名"
android:textColor="#ff383838"
android:textSize="14sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="44dp"
android:gravity="center_vertical"
android:background="@color/transparent"
android:hint ="请输入您的真实姓名"
android:textColorHint="#ff999999"
android:textSize="18sp"
android:id="@+id/name_et"
android:layout_marginTop="10dp"
android:textColor="@color/black"
/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身份证号"
android:layout_marginTop="@dimen/dp_20"
android:textColor="#ff383838"
android:textSize="14sp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginTop="10dp"
android:id="@+id/number_et"
android:gravity="center_vertical"
android:background="@color/transparent"
android:hint ="请输入您本人的身份证号码"
android:textColorHint="#ff999999"
android:textSize="18sp"
android:textColor="@color/black"
/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:id="@+id/tips_tv"
android:visibility="invisible"
android:text="实名认证无法自行修改,如需修改请联系客服人员"
android:textColor="#ffff2b2b"
android:textSize="14sp"
/>
<Button
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="@dimen/dp_30"
android:text="提交"
android:id="@+id/sumbit_bt"
android:background="@drawable/button_true_bg1"
android:textColor="#fff6f8fd"
android:textSize="16sp"
/>
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/big_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical">
<com.netease.yunxin.kit.common.ui.widgets.BackTitleBar
android:id="@+id/contact_list_activity_titleBar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:titleText="我的微信"
app:titleTextColor="@android:color/black" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#ededed"
android:visibility="visible" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F6F5F7"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/no_bind_ly"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_100"
android:src="@mipmap/no_wechat_alipay_img" />
<TextView
android:id="@+id/tips_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_20"
android:text="还没有绑定微信"
android:textColor="#ff383838"
android:textSize="14sp" />
<LinearLayout
android:id="@+id/sumbit_bt"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginStart="30dp"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginEnd="30dp"
android:background="@drawable/button_true_bg1"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@mipmap/to_bind_img"
android:drawablePadding="@dimen/dp_5"
android:text="去绑定"
android:textColor="#fff6f8fd"
android:textSize="16sp" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/bind_ly"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_15"
android:background="@drawable/index_user_bg"
android:orientation="vertical">
<com.hbl.lewan.widget.CircleImageView
android:layout_width="@dimen/dp_100"
android:layout_height="@dimen/dp_100"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
app:es_shape_type="rectangle"
app:ease_radius="@dimen/dp_5"
android:id="@+id/image_iv"
android:src="@mipmap/add_img_wallet"/>
<View android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_15"
android:background="#ededed"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名:"
android:id="@+id/xingming_tv"
android:layout_marginStart="15dp"
android:layout_marginEnd="@dimen/dp_15"
android:layout_marginTop="15dp"
android:textColor="#ff333333"
android:textSize="16sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="微信号:"
android:id="@+id/wechat_alipay_tv"
android:layout_marginStart="15dp"
android:layout_marginEnd="@dimen/dp_15"
android:layout_marginTop="10dp"
android:textColor="#ff333333"
android:layout_marginBottom="@dimen/dp_15"
android:textSize="16sp"
/>
</LinearLayout>
<TextView
android:id="@+id/tips_tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:text="微信号一经绑定,无法修改,若必须修改,如收款码过期等问题,请联系客服进行调整"
android:textColor="#ffff2b2b"
android:textSize="14sp"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -176,10 +176,10 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:visibility="visible"
app:layout_constraintDimensionRatio="375:205" app:layout_constraintDimensionRatio="375:205"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
android:visibility="visible"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<LinearLayout <LinearLayout
@@ -206,8 +206,8 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:visibility="gone" android:orientation="horizontal"
android:orientation="horizontal"> android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -226,8 +226,8 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingStart="12dp" android:orientation="horizontal"
android:orientation="horizontal"> android:paddingStart="12dp">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -244,9 +244,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:visibility="gone"
android:gravity="center" android:gravity="center"
android:orientation="horizontal"> android:orientation="horizontal"
android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -277,50 +277,49 @@
android:ellipsize="end" android:ellipsize="end"
android:gravity="center" android:gravity="center"
android:lines="1" android:lines="1"
android:visibility="gone"
android:textColor="#FA6947" android:textColor="#FA6947"
android:textStyle="bold" android:textStyle="bold"
android:visibility="gone"
tools:text="8888" /> tools:text="8888" />
<View <View
android:layout_width="@dimen/dp_1" android:layout_width="@dimen/dp_1"
android:layout_height="@dimen/dp_20" android:layout_height="@dimen/dp_20"
android:visibility="gone"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:background="#49B78C8C" /> android:background="#49B78C8C"
android:visibility="gone" />
<TextView <TextView
android:id="@+id/yinbi_tv" android:id="@+id/yinbi_tv"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginEnd="12dp"
android:layout_weight="1" android:layout_weight="1"
android:autoSizeMaxTextSize="21sp" android:autoSizeMaxTextSize="21sp"
android:autoSizeMinTextSize="16sp" android:autoSizeMinTextSize="16sp"
android:autoSizeTextType="uniform" android:autoSizeTextType="uniform"
android:drawableRight="@mipmap/index_wallet_next_img"
android:drawablePadding="10dp"
android:drawableTint="#26000000"
android:ellipsize="end" android:ellipsize="end"
android:gravity="center_vertical|right" android:gravity="center_vertical|right"
android:lines="1" android:lines="1"
android:drawablePadding="10dp"
android:textColor="#FA6947" android:textColor="#FA6947"
android:layout_marginEnd="12dp"
android:textStyle="bold" android:textStyle="bold"
android:drawableTint="#26000000"
android:drawableRight="@mipmap/index_wallet_next_img"
tools:text="8888" /> tools:text="8888" />
<View <View
android:layout_width="@dimen/dp_1" android:layout_width="@dimen/dp_1"
android:layout_height="@dimen/dp_20" android:layout_height="@dimen/dp_20"
android:visibility="gone"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:background="#49B78C8C" /> android:background="#49B78C8C"
android:visibility="gone" />
<TextView <TextView
android:id="@+id/tongbi_tv" android:id="@+id/tongbi_tv"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:visibility="gone"
android:autoSizeMaxTextSize="21sp" android:autoSizeMaxTextSize="21sp"
android:autoSizeMinTextSize="16sp" android:autoSizeMinTextSize="16sp"
android:autoSizeTextType="uniform" android:autoSizeTextType="uniform"
@@ -329,6 +328,7 @@
android:lines="1" android:lines="1"
android:textColor="#FA6947" android:textColor="#FA6947"
android:textStyle="bold" android:textStyle="bold"
android:visibility="gone"
tools:text="8888" /> tools:text="8888" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
@@ -431,8 +431,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_57" android:layout_height="@dimen/dp_57"
android:gravity="center_vertical" android:gravity="center_vertical"
android:visibility="visible" android:orientation="horizontal"
android:orientation="horizontal"> android:visibility="visible">
<Button <Button
android:id="@+id/myphoto_tv" android:id="@+id/myphoto_tv"
@@ -526,7 +526,7 @@
<Button <Button
android:id="@+id/friend_tv" android:id="@+id/friend_tv"
style="@style/settings_item_bg_group_full_2019" style="@style/settings_item_bg_group_full_20191"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -545,6 +545,7 @@
android:layout_height="1px" android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15" android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15" android:layout_marginRight="@dimen/dp_15"
android:visibility="gone"
android:background="#D8D8D8" /> android:background="#D8D8D8" />
<LinearLayout <LinearLayout
@@ -553,6 +554,7 @@
android:layout_height="@dimen/dp_57" android:layout_height="@dimen/dp_57"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
tools:ignore="SpUsage"> tools:ignore="SpUsage">
@@ -723,24 +725,46 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<TextView <LinearLayout
android:id="@+id/tvLogout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15" android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_16" android:layout_marginTop="@dimen/dp_16"
android:layout_marginRight="@dimen/dp_15" android:layout_marginRight="@dimen/dp_15"
android:layout_marginBottom="@dimen/dp_16" android:layout_marginBottom="@dimen/dp_16"
android:background="@drawable/index_user_bg" android:background="@drawable/index_user_bg"
android:gravity="center" android:orientation="vertical">
android:singleLine="true"
android:text="@string/tab_mine_logout" <TextView
android:textColor="@color/color_ff2b2b" android:id="@+id/tvChange"
android:textSize="@dimen/dp_16" android:layout_width="match_parent"
app:layout_constraintEnd_toEndOf="parent" android:layout_height="48dp"
app:layout_constraintStart_toStartOf="parent" android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/notify_message_ll" android:singleLine="true"
tools:ignore="NotSibling,SpUsage" /> android:text="切换账号"
android:textColor="#616161"
android:textSize="@dimen/dp_16"
tools:ignore="NotSibling,SpUsage" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_7"
android:background="#D8D8D8" />
<TextView
android:id="@+id/tvLogout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center"
android:singleLine="true"
android:text="@string/tab_mine_logout"
android:textColor="@color/color_ff2b2b"
android:textSize="@dimen/dp_16"
tools:ignore="NotSibling,SpUsage" />
</LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 KiB