新增房间内半屏充值页面,我的账户页面UI优化
12
app/src/common/res/drawable/selector_dialog_charge.xml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:drawable="@drawable/dialog_charge_bg_checked" android:state_selected="true" />
|
||||||
|
<item android:drawable="@drawable/dialog_charge_bg_checked" android:state_checked="true" />
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="@color/white" />
|
||||||
|
<corners android:radius="8dp"/>
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</selector>
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 690 B |
@@ -615,10 +615,12 @@
|
|||||||
android:name=".ui.pay.ChargeActivity"
|
android:name=".ui.pay.ChargeActivity"
|
||||||
android:label="充值"
|
android:label="充值"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.pay.CDKEYChargeActivity"
|
android:name=".ui.pay.ChargeDialog"
|
||||||
android:label="兑换码充值"
|
android:label="充值"
|
||||||
android:screenOrientation="portrait" />
|
android:theme="@style/dialog_web_view_activity"/>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".home.activity.CollectionRoomActivity"
|
android:name=".home.activity.CollectionRoomActivity"
|
||||||
android:label="收藏房间"
|
android:label="收藏房间"
|
||||||
|
@@ -1,80 +0,0 @@
|
|||||||
package com.yizhuan.erban.ui.pay;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.EditText;
|
|
||||||
|
|
||||||
import com.netease.nim.uikit.common.util.string.StringUtil;
|
|
||||||
import com.yizhuan.erban.R;
|
|
||||||
import com.yizhuan.erban.base.BaseActivity;
|
|
||||||
import com.yizhuan.xchat_android_core.pay.PayModel;
|
|
||||||
import com.yizhuan.xchat_android_core.utils.net.BeanObserver;
|
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by chenran on 2017/11/15.
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class CDKEYChargeActivity extends BaseActivity implements View.OnClickListener {
|
|
||||||
private EditText editText;
|
|
||||||
private Button charge;
|
|
||||||
|
|
||||||
public static void start(Context context) {
|
|
||||||
if (context == null) return;
|
|
||||||
Intent intent = new Intent(context, CDKEYChargeActivity.class);
|
|
||||||
context.startActivity(intent);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_cd_key_charge);
|
|
||||||
initTitleBar("兑换码充值");
|
|
||||||
|
|
||||||
editText = (EditText) findViewById(R.id.cd_key_edit);
|
|
||||||
charge = (Button) findViewById(R.id.btn_charge);
|
|
||||||
charge.setOnClickListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
String text = editText.getText().toString();
|
|
||||||
if (StringUtil.isEmpty(text)) {
|
|
||||||
toast("兑换码为空");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
getDialogManager().showProgressDialog(this, "请稍后");
|
|
||||||
|
|
||||||
PayModel.get().requestCDKeyCharge(editText.getText().toString())
|
|
||||||
.compose(bindToLifecycle())
|
|
||||||
.subscribe(new BeanObserver<Integer>() {
|
|
||||||
@Override
|
|
||||||
public void onSuccess(Integer count) {
|
|
||||||
onCDKeyCharge(count);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onErrorMsg(String error) {
|
|
||||||
onCDKeyChargeFail(error);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
editText.setText("");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onCDKeyCharge(int gold) {
|
|
||||||
getDialogManager().dismissDialog();
|
|
||||||
ChargeDialog dialog = new ChargeDialog(this, gold);
|
|
||||||
dialog.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onCDKeyChargeFail(String error) {
|
|
||||||
getDialogManager().dismissDialog();
|
|
||||||
toast(error);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -116,7 +116,7 @@ public class ChargeActivity extends BaseActivity {
|
|||||||
setContentView(R.layout.activity_charge);
|
setContentView(R.layout.activity_charge);
|
||||||
initWhiteTitleBar(getString(R.string.label_charge_gold));
|
initWhiteTitleBar(getString(R.string.label_charge_gold));
|
||||||
mTitleBar.setLeftClickListener(v -> finishPage());
|
mTitleBar.setLeftClickListener(v -> finishPage());
|
||||||
mTitleBar.addAction(new TitleBar.TextAction("我的收益", getResources().getColor(R.color.white)) {
|
mTitleBar.addAction(new TitleBar.TextAction("我的收益", getResources().getColor(R.color.color_333333)) {
|
||||||
@Override
|
@Override
|
||||||
public void performAction(View view) {
|
public void performAction(View view) {
|
||||||
CommonWebViewActivity.start(ChargeActivity.this,
|
CommonWebViewActivity.start(ChargeActivity.this,
|
||||||
@@ -134,8 +134,8 @@ public class ChargeActivity extends BaseActivity {
|
|||||||
if (mTitleBar != null) {
|
if (mTitleBar != null) {
|
||||||
mTitleBar.setTitle(title);
|
mTitleBar.setTitle(title);
|
||||||
mTitleBar.setImmersive(false);
|
mTitleBar.setImmersive(false);
|
||||||
mTitleBar.setTitleColor(getResources().getColor(R.color.white));
|
mTitleBar.setTitleColor(getResources().getColor(R.color.color_333333));
|
||||||
mTitleBar.setLeftImageResource(R.drawable.arrow_left_white);
|
mTitleBar.setLeftImageResource(R.drawable.arrow_left);
|
||||||
mTitleBar.setCommonBackgroundColor(getResources().getColor(R.color.transparent));
|
mTitleBar.setCommonBackgroundColor(getResources().getColor(R.color.transparent));
|
||||||
mTitleBar.setLeftClickListener(v -> onLeftClickListener());
|
mTitleBar.setLeftClickListener(v -> onLeftClickListener());
|
||||||
}
|
}
|
||||||
@@ -206,20 +206,12 @@ public class ChargeActivity extends BaseActivity {
|
|||||||
|
|
||||||
switch (defaultPay) {
|
switch (defaultPay) {
|
||||||
case ALI_PAY_CLOSE:
|
case ALI_PAY_CLOSE:
|
||||||
iv_sel_first.setSelected(selectAliPay);
|
|
||||||
iv_sel_second.setSelected(selectWeChatPay);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WX_PAY_CLOSE:
|
|
||||||
iv_sel_first.setSelected(selectWeChatPay);
|
|
||||||
iv_sel_second.setSelected(selectAliPay);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ALI_PAY_OPEN:
|
case ALI_PAY_OPEN:
|
||||||
iv_sel_first.setSelected(selectAliPay);
|
iv_sel_first.setSelected(selectAliPay);
|
||||||
iv_sel_second.setSelected(selectWeChatPay);
|
iv_sel_second.setSelected(selectWeChatPay);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WX_PAY_CLOSE:
|
||||||
case WX_PAY_OPEN:
|
case WX_PAY_OPEN:
|
||||||
iv_sel_first.setSelected(selectWeChatPay);
|
iv_sel_first.setSelected(selectWeChatPay);
|
||||||
iv_sel_second.setSelected(selectAliPay);
|
iv_sel_second.setSelected(selectAliPay);
|
||||||
@@ -246,7 +238,7 @@ public class ChargeActivity extends BaseActivity {
|
|||||||
mRecyclerView = findViewById(R.id.recyclerView);
|
mRecyclerView = findViewById(R.id.recyclerView);
|
||||||
mRecyclerView.setNestedScrollingEnabled(false);
|
mRecyclerView.setNestedScrollingEnabled(false);
|
||||||
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
|
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
|
||||||
mChargeAdapter = new ChargeAdapter();
|
mChargeAdapter = new ChargeAdapter(false);
|
||||||
mRecyclerView.setAdapter(mChargeAdapter);
|
mRecyclerView.setAdapter(mChargeAdapter);
|
||||||
mChargeAdapter.setOnItemClickListener((baseQuickAdapter, view, position) -> {
|
mChargeAdapter.setOnItemClickListener((baseQuickAdapter, view, position) -> {
|
||||||
setItemSelect(position);
|
setItemSelect(position);
|
||||||
|
@@ -3,8 +3,11 @@ package com.yizhuan.erban.ui.pay;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||||
import com.chad.library.adapter.base.BaseViewHolder;
|
import com.chad.library.adapter.base.BaseViewHolder;
|
||||||
|
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||||
import com.yizhuan.erban.R;
|
import com.yizhuan.erban.R;
|
||||||
import com.yizhuan.xchat_android_core.pay.bean.ChargeBean;
|
import com.yizhuan.xchat_android_core.pay.bean.ChargeBean;
|
||||||
|
|
||||||
@@ -15,14 +18,24 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
* Created by Administrator on 2017/11/20.
|
* Created by Administrator on 2017/11/20.
|
||||||
*/
|
*/
|
||||||
public class ChargeAdapter extends BaseQuickAdapter<ChargeBean, BaseViewHolder> {
|
public class ChargeAdapter extends BaseQuickAdapter<ChargeBean, BaseViewHolder> {
|
||||||
ChargeAdapter() {
|
|
||||||
|
private final boolean isDialogCharge;
|
||||||
|
|
||||||
|
ChargeAdapter(boolean isDialogCharge) {
|
||||||
super(R.layout.list_item_charge);
|
super(R.layout.list_item_charge);
|
||||||
|
this.isDialogCharge = isDialogCharge;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void convert(@NotNull BaseViewHolder baseViewHolder, ChargeBean chargeBean) {
|
protected void convert(@NotNull BaseViewHolder baseViewHolder, ChargeBean chargeBean) {
|
||||||
if (chargeBean == null) return;
|
if (chargeBean == null) return;
|
||||||
|
|
||||||
|
if (isDialogCharge) {
|
||||||
|
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) baseViewHolder.itemView.getLayoutParams();
|
||||||
|
layoutParams.height = ScreenUtil.dip2px(54);
|
||||||
|
baseViewHolder.itemView.setLayoutParams(layoutParams);
|
||||||
|
}
|
||||||
|
|
||||||
baseViewHolder.setVisible(R.id.ll_gold_charge, !TextUtils.isEmpty(chargeBean.getProdName()))
|
baseViewHolder.setVisible(R.id.ll_gold_charge, !TextUtils.isEmpty(chargeBean.getProdName()))
|
||||||
.setText(R.id.tv_money_gold, chargeBean.prodName.replace("钻石", ""))
|
.setText(R.id.tv_money_gold, chargeBean.prodName.replace("钻石", ""))
|
||||||
.setText(R.id.cb_money, mContext.getString(R.string.charge_number, chargeBean.money));
|
.setText(R.id.cb_money, mContext.getString(R.string.charge_number, chargeBean.money));
|
||||||
|
@@ -1,62 +1,597 @@
|
|||||||
package com.yizhuan.erban.ui.pay;
|
package com.yizhuan.erban.ui.pay;
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import android.text.TextUtils;
|
||||||
import androidx.annotation.Nullable;
|
import android.view.Gravity;
|
||||||
import androidx.annotation.StyleRes;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.Window;
|
import android.view.WindowManager;
|
||||||
import android.widget.Button;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.netease.nim.uikit.StatusBarUtil;
|
||||||
|
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||||
import com.yizhuan.erban.R;
|
import com.yizhuan.erban.R;
|
||||||
|
import com.yizhuan.erban.bank_card.activity.AddBankCardAgreementActivity;
|
||||||
|
import com.yizhuan.erban.base.BaseActivity;
|
||||||
|
import com.yizhuan.erban.base.TitleBar;
|
||||||
|
import com.yizhuan.erban.common.widget.dialog.DialogManager;
|
||||||
|
import com.yizhuan.erban.ui.setting.ModifyPwdActivity;
|
||||||
|
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||||
|
import com.yizhuan.erban.ui.widget.password.PassWordFragment;
|
||||||
|
import com.yizhuan.erban.ui.widget.password.PasswordEvent;
|
||||||
|
import com.yizhuan.xchat_android_core.Constants;
|
||||||
|
import com.yizhuan.xchat_android_core.UriProvider;
|
||||||
|
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||||
|
import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
|
||||||
|
import com.yizhuan.xchat_android_core.bean.response.result.ChargeListResult;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.PayModel;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.PaymentActivity;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.bean.ChargeBean;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.bean.PaymentResult;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.bean.WalletInfo;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.bean.unionpay.UnionPayOrder;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.event.GetWalletInfoEvent;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.event.UpdateWalletInfoEvent;
|
||||||
|
import com.yizhuan.xchat_android_core.pay.model.unionpay.UnionPayModel;
|
||||||
|
import com.yizhuan.xchat_android_core.user.UserModel;
|
||||||
|
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||||
|
import com.yizhuan.xchat_android_core.utils.CheckUtils;
|
||||||
|
import com.yizhuan.xchat_android_core.utils.net.BeanObserver;
|
||||||
|
import com.yizhuan.xchat_android_core.web.event.WebViewRefreshEvent;
|
||||||
|
import com.yizhuan.xchat_android_library.utils.JavaUtil;
|
||||||
|
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||||
|
|
||||||
|
import org.greenrobot.eventbus.EventBus;
|
||||||
|
import org.greenrobot.eventbus.Subscribe;
|
||||||
|
import org.greenrobot.eventbus.ThreadMode;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import io.reactivex.Observable;
|
||||||
|
import io.reactivex.SingleObserver;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.disposables.CompositeDisposable;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by chenran on 2017/11/15.
|
* 充值界面
|
||||||
|
*
|
||||||
|
* @author zhouxiangfeng
|
||||||
|
* @date 2017/6/19
|
||||||
*/
|
*/
|
||||||
|
public class ChargeDialog extends BaseActivity {
|
||||||
|
|
||||||
public class ChargeDialog extends Dialog implements View.OnClickListener{
|
public static final int ALI_PAY_CLOSE = 1;
|
||||||
private int gold;
|
public static final int WX_PAY_CLOSE = 2;
|
||||||
private TextView goldText;
|
public static final int ALI_PAY_OPEN = 3;
|
||||||
private Button btnIKnow;
|
public static final int WX_PAY_OPEN = 4;
|
||||||
|
private static final String TAG = "ChargeDialog";
|
||||||
|
private final int BINDCODE_GOLD = 200;
|
||||||
|
List<ChargeBean> mBigList;
|
||||||
|
List<ChargeBean> mList;
|
||||||
|
private TextView mTv_gold;
|
||||||
|
private LinearLayout ll_type_first;
|
||||||
|
private ImageView iv_type_first;
|
||||||
|
private TextView tv_type_first;
|
||||||
|
private LinearLayout ll_type_second;
|
||||||
|
private ImageView iv_type_second;
|
||||||
|
private TextView tv_type_second;
|
||||||
|
private TextView tvCharge;
|
||||||
|
private RecyclerView mRecyclerView;
|
||||||
|
private ChargeAdapter mChargeAdapter;
|
||||||
|
private TextView tvAgreement;
|
||||||
|
private LinearLayout ll_more;
|
||||||
|
private ChargeBean mSelectChargeBean;
|
||||||
|
private int mListSize;
|
||||||
|
private volatile String payChannel = Constants.CHARGE_WX;
|
||||||
|
private boolean mIsFromH5;
|
||||||
|
private CompositeDisposable compositeDisposable = new CompositeDisposable();
|
||||||
|
|
||||||
public ChargeDialog(@NonNull Context context, int gold) {
|
public static void start(Context context) {
|
||||||
super(context, R.style.dialog);
|
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||||
this.gold = gold;
|
if (context == null || userInfo == null) return;
|
||||||
|
Intent intent = new Intent(context, ChargeDialog.class);
|
||||||
|
context.startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ChargeDialog(@NonNull Context context, @StyleRes int themeResId, int gold) {
|
public static void start(Context context, boolean isFromH5) {
|
||||||
super(context, R.style.dialog);
|
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||||
this.gold = gold;
|
if (context == null || userInfo == null) return;
|
||||||
}
|
Intent intent = new Intent(context, ChargeDialog.class);
|
||||||
|
intent.putExtra("isFromH5", isFromH5);
|
||||||
protected ChargeDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {
|
context.startActivity(intent);
|
||||||
super(context, cancelable, cancelListener);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
setContentView(R.layout.dialog_charge);
|
||||||
setContentView(R.layout.charge_dialog);
|
//这里的height用MATCH_PARENT状态栏会被顶上去,不知道什么鬼
|
||||||
initView();
|
int height = ScreenUtil.screenHeight - ScreenUtil.getStatusBarHeight(context);
|
||||||
|
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, height);
|
||||||
|
getWindow().setGravity(Gravity.BOTTOM);
|
||||||
|
initTitleBar("充值");
|
||||||
|
mTitleBar.setLeftClickListener(v -> finishPage());
|
||||||
|
bindViews();
|
||||||
setListener();
|
setListener();
|
||||||
|
initiate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setListener() {
|
private void setListener() {
|
||||||
btnIKnow.setOnClickListener(this);
|
ll_more.setOnClickListener(v -> hideMoreButton());
|
||||||
|
tvCharge.setOnClickListener(v -> {
|
||||||
|
if (mSelectChargeBean == null) return;
|
||||||
|
getDialogManager().showProgressDialog(this, false);
|
||||||
|
PaymentActivity.start(this, payChannel, mSelectChargeBean.chargeProdId);
|
||||||
|
});
|
||||||
|
tvAgreement.setOnClickListener(v -> {
|
||||||
|
CommonWebViewActivity.start(this, UriProvider.getRechargeAgreementUrl());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initView() {
|
private void hideMoreButton() {
|
||||||
goldText = (TextView) findViewById(R.id.gold_text);
|
ll_more.setVisibility(View.GONE);
|
||||||
btnIKnow = (Button) findViewById(R.id.btn_charge);
|
ll_type_second.setVisibility(View.VISIBLE);
|
||||||
goldText.setText(gold + "钻石");
|
}
|
||||||
|
|
||||||
|
private void showMoreButton() {
|
||||||
|
ll_more.setVisibility(View.VISIBLE);
|
||||||
|
ll_type_second.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void bindViews() {
|
||||||
|
mTv_gold = findViewById(R.id.tv_gold);
|
||||||
|
ll_type_first = findViewById(R.id.ll_type_first);
|
||||||
|
iv_type_first = findViewById(R.id.iv_type_first);
|
||||||
|
ll_type_second = findViewById(R.id.ll_type_second);
|
||||||
|
ll_more = findViewById(R.id.ll_more);
|
||||||
|
tvCharge = findViewById(R.id.tv_charge);
|
||||||
|
tvAgreement = findViewById(R.id.tv_agreement);
|
||||||
|
iv_type_second = findViewById(R.id.iv_type_second);
|
||||||
|
tv_type_first = findViewById(R.id.tv_type_first);
|
||||||
|
tv_type_second = findViewById(R.id.tv_type_second);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void selectPayChannelDisplay(String payChannel, int defaultPay) {
|
||||||
|
this.payChannel = payChannel;
|
||||||
|
boolean selectWeChatPay = (Objects.equals(this.payChannel, Constants.CHARGE_WX));
|
||||||
|
boolean selectAliPay = (Objects.equals(this.payChannel, Constants.CHARGE_ALIPAY));
|
||||||
|
if (!ListUtils.isListEmpty(mBigList)) {
|
||||||
|
if (selectAliPay) {
|
||||||
|
if (mList.size() == mListSize) {
|
||||||
|
for (ChargeBean bigList : mBigList) {
|
||||||
|
mList.add(bigList);
|
||||||
|
}
|
||||||
|
mChargeAdapter.setNewData(mList);
|
||||||
|
mChargeAdapter.notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (mList.size() > mListSize) {
|
||||||
|
setItemSelect(0);
|
||||||
|
}
|
||||||
|
for (ChargeBean bigList : mBigList) {
|
||||||
|
mList.remove(bigList);
|
||||||
|
}
|
||||||
|
mChargeAdapter.setNewData(mList);
|
||||||
|
mChargeAdapter.notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (defaultPay) {
|
||||||
|
case ALI_PAY_CLOSE:
|
||||||
|
case ALI_PAY_OPEN:
|
||||||
|
ll_type_first.setSelected(selectAliPay);
|
||||||
|
ll_type_second.setSelected(selectWeChatPay);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WX_PAY_CLOSE:
|
||||||
|
case WX_PAY_OPEN:
|
||||||
|
ll_type_first.setSelected(selectWeChatPay);
|
||||||
|
ll_type_second.setSelected(selectAliPay);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
defaultSetPay(selectWeChatPay, selectAliPay);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认选择的支付方式
|
||||||
|
*
|
||||||
|
* @param selectWeChatPay
|
||||||
|
* @param selectAliPay
|
||||||
|
*/
|
||||||
|
private void defaultSetPay(boolean selectWeChatPay, boolean selectAliPay) {
|
||||||
|
ll_type_first.setSelected(selectWeChatPay);
|
||||||
|
ll_type_second.setSelected(selectAliPay);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initiate() {
|
||||||
|
mIsFromH5 = getIntent().getBooleanExtra("isFromH5", false);
|
||||||
|
mRecyclerView = findViewById(R.id.recyclerView);
|
||||||
|
mRecyclerView.setNestedScrollingEnabled(false);
|
||||||
|
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
|
||||||
|
mChargeAdapter = new ChargeAdapter(true);
|
||||||
|
mRecyclerView.setAdapter(mChargeAdapter);
|
||||||
|
mChargeAdapter.setOnItemClickListener((baseQuickAdapter, view, position) -> {
|
||||||
|
setItemSelect(position);
|
||||||
|
});
|
||||||
|
onRefreshing();
|
||||||
|
onLoadingData();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setItemSelect(int position) {
|
||||||
|
List<ChargeBean> list = mChargeAdapter.getData();
|
||||||
|
if (ListUtils.isListEmpty(list)) return;
|
||||||
|
|
||||||
|
// 空对象,不让蒙板遮挡最后一个item;
|
||||||
|
ChargeBean temp = list.get(position);
|
||||||
|
if (TextUtils.isEmpty(temp.getProdName()))
|
||||||
|
return;
|
||||||
|
|
||||||
|
mSelectChargeBean = list.get(position);
|
||||||
|
int size = list.size();
|
||||||
|
for (int i = 0; i < size; i++) {
|
||||||
|
list.get(i).isSelected = position == i;
|
||||||
|
}
|
||||||
|
mChargeAdapter.notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onLoadingData() {
|
||||||
|
UserInfo userInfos = UserModel.get().getCacheLoginUserInfo();
|
||||||
|
if (userInfos != null) {
|
||||||
|
PayModel.get().getWalletInfo(userInfos.getUid()).subscribe(new SingleObserver<WalletInfo>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
mCompositeDisposable.add(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(WalletInfo walletInfo) {
|
||||||
|
setWalletData(walletInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onRefreshing() {
|
||||||
|
PayModel.get().getChargeList(1, AuthModel.get().getCurrentUid()).subscribe(new BeanObserver<ChargeListResult>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(ChargeListResult chargeBeans) {
|
||||||
|
if (chargeBeans == null) return;
|
||||||
|
mBigList = chargeBeans.getBigList();
|
||||||
|
mList = chargeBeans.getList();
|
||||||
|
mListSize = chargeBeans.getList().size();
|
||||||
|
onGetChargeList(chargeBeans.getList());
|
||||||
|
//默认选中
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onErrorMsg(String error) {
|
||||||
|
onGetChargeListFail(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
protected void onResume() {
|
||||||
dismiss();
|
super.onResume();
|
||||||
|
EventBus.getDefault().register(this);
|
||||||
|
if (PayModel.get().isFirstChargeSuccess()) {
|
||||||
|
PayModel.get().setFirstChargeSuccess(false);
|
||||||
|
onRefreshing();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
EventBus.getDefault().unregister(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onGetChargeList(List<ChargeBean> chargeBeanList) {
|
||||||
|
if (chargeBeanList != null && chargeBeanList.size() > 0) {
|
||||||
|
//先判断存不存在1元档位
|
||||||
|
boolean isExistOneYuan = false;
|
||||||
|
for (int i = 0; i < chargeBeanList.size(); i++) {
|
||||||
|
ChargeBean chargeBean = chargeBeanList.get(i);
|
||||||
|
if (chargeBean.getMoney() == 1) {
|
||||||
|
isExistOneYuan = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int selectedMoney = isExistOneYuan ? 1 : 6;
|
||||||
|
for (int i = 0; i < chargeBeanList.size(); i++) {
|
||||||
|
ChargeBean chargeBean = chargeBeanList.get(i);
|
||||||
|
chargeBean.isSelected = chargeBean.getMoney() == selectedMoney;
|
||||||
|
if (selectedMoney == chargeBean.getMoney()) {
|
||||||
|
mSelectChargeBean = chargeBean;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mChargeAdapter.setNewData(chargeBeanList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onGetChargeListFail(String error) {
|
||||||
|
toast(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
getDialogManager().dismissDialog();
|
||||||
|
if (resultCode != RESULT_OK) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//支付页面返回处理
|
||||||
|
if (requestCode == PaymentActivity.REQUEST_CODE_PAY) {
|
||||||
|
if (data != null && data.getExtras() != null) {
|
||||||
|
PaymentResult paymentResult = data.getParcelableExtra(PaymentActivity.KEY_PAY_RESULT);
|
||||||
|
if (paymentResult != null) {
|
||||||
|
// 充值金额超过限定时,就必须先实名认证
|
||||||
|
int payResultCode = JavaUtil.str2int(paymentResult.getCode());
|
||||||
|
switch (payResultCode) {
|
||||||
|
case PayModel.NOT_REAL_NAME_BEFORE_CHARGING:
|
||||||
|
getDialogManager().showTipsDialog(getString(R.string.tips_need_to_certification),
|
||||||
|
getString(R.string.go_to_certification),
|
||||||
|
new DialogManager.AbsOkDialogListener() {
|
||||||
|
@Override
|
||||||
|
public void onOk() {
|
||||||
|
// 跳去实名认证页面
|
||||||
|
CommonWebViewActivity.start(ChargeDialog.this,
|
||||||
|
UriProvider.getTutuRealNamePage());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UnionPayModel.CODE_NEED_BIND_BANK_CARD_FIRST:
|
||||||
|
getDialogManager().showTipsDialog(
|
||||||
|
getString(R.string.tips_need_bind_bank_card_first),
|
||||||
|
new DialogManager.AbsOkDialogListener() {
|
||||||
|
@Override
|
||||||
|
public void onOk() {
|
||||||
|
// 跳去添加银行卡页面
|
||||||
|
AddBankCardAgreementActivity.start(ChargeDialog.this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PaymentResult.CODE_SHOW_PAYMENT_PSW:
|
||||||
|
showPaymentConfirmDialog();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PaymentResult.CODE_UNION_PAY_WAITING_FOR_RESULT:
|
||||||
|
queryingPaymentResult();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
toast(paymentResult.getMsg());
|
||||||
|
//重新获取钱包信息
|
||||||
|
PayModel.get().getWalletInfo(AuthModel.get().getCurrentUid()).subscribe();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (requestCode == BINDCODE_GOLD) {
|
||||||
|
ModifyPwdActivity.start(this, ModifyPwdActivity.FOGERT_PAY_PWD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 银联支付下,弹出确认弹窗,方便用户查看支付金额和支付使用的银行卡,还能切换银行卡
|
||||||
|
*/
|
||||||
|
private void showPaymentConfirmDialog() {
|
||||||
|
if (mSelectChargeBean == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ConfirmPaymentDialog.newInstance(mSelectChargeBean.getMoney(),
|
||||||
|
selectedBankInfo -> {
|
||||||
|
UnionPayModel.getInstance().setSelectedBankInfo(selectedBankInfo);
|
||||||
|
PassWordFragment.newInstance().show(getSupportFragmentManager());
|
||||||
|
})
|
||||||
|
.show(getSupportFragmentManager(), ConfirmPaymentDialog.class.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 银联支付存在一定的延时,所以这里加一个五秒的 loading 动画在前台,
|
||||||
|
* 后台在每秒轮询服务器获取订单状态
|
||||||
|
* 当获取到订单状态为成功或者失败的时候,loading 结束,
|
||||||
|
* 否则一直 loading,直到五秒结束后 toast 提示用户自行查账单
|
||||||
|
*/
|
||||||
|
private void queryingPaymentResult() {
|
||||||
|
UnionPayOrder unionPayOrder = UnionPayModel.getInstance().getUnionPayOrder();
|
||||||
|
if (unionPayOrder == null) {
|
||||||
|
getDialogManager().dismissDialog();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 前台 loading
|
||||||
|
getDialogManager().showProgressDialog(ChargeDialog.this,
|
||||||
|
getString(R.string.tips_querying_payment_result), false);
|
||||||
|
// 轮询订单支付结果
|
||||||
|
Observable<ServiceResult<String>> stringObservable =
|
||||||
|
Observable.interval(0, 1, TimeUnit.SECONDS)
|
||||||
|
.take(5)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.concatMap(aLong -> UnionPayModel.getInstance()
|
||||||
|
.unionPayResult(unionPayOrder.getOrderNo())
|
||||||
|
.toObservable())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.filter(pollingJsonResult ->
|
||||||
|
pollingJsonResult.getCode() == ServiceResult.SC_SUCCESS ||
|
||||||
|
pollingJsonResult.getCode() == UnionPayModel.CODE_UNION_PAY_FAILED)
|
||||||
|
.timeout(5, TimeUnit.SECONDS);
|
||||||
|
compositeDisposable.add(
|
||||||
|
stringObservable.subscribe(stringServiceResult -> {
|
||||||
|
getDialogManager().dismissDialog();
|
||||||
|
disposeCompositeDisposable();
|
||||||
|
if (stringServiceResult != null) {
|
||||||
|
toast(stringServiceResult.getMessage());
|
||||||
|
if (stringServiceResult.getCode() == ServiceResult.SC_SUCCESS) {
|
||||||
|
PayModel.get().setFirstChargeSuccess(false);
|
||||||
|
onRefreshing();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, throwable -> {
|
||||||
|
throwable.printStackTrace();
|
||||||
|
getDialogManager().dismissDialog();
|
||||||
|
toast(throwable.getMessage());
|
||||||
|
}, () -> {
|
||||||
|
getDialogManager().dismissDialog();
|
||||||
|
toast(R.string.toast_payment_result_delayed);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void disposeCompositeDisposable() {
|
||||||
|
if (compositeDisposable != null && !compositeDisposable.isDisposed()) {
|
||||||
|
compositeDisposable.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
disposeCompositeDisposable();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
|
public void onWalletInfoUpdate(UpdateWalletInfoEvent event) {
|
||||||
|
WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo();
|
||||||
|
if (walletInfo != null) {
|
||||||
|
setWalletData(walletInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
|
public void onGetWalletInfo(GetWalletInfoEvent event) {
|
||||||
|
WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo();
|
||||||
|
if (walletInfo != null) {
|
||||||
|
setWalletData(walletInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* defaultPay 1:默认支付宝,2:默认微信
|
||||||
|
*/
|
||||||
|
private void setWalletData(WalletInfo walletInfo) {
|
||||||
|
if (walletInfo == null) return;
|
||||||
|
mTv_gold.setText(getString(R.string.charge_gold, walletInfo.getDiamondNum()));
|
||||||
|
int defaultPay = walletInfo.getDefaultPay();
|
||||||
|
switch (defaultPay) {
|
||||||
|
case ALI_PAY_CLOSE:
|
||||||
|
payChannel = Constants.CHARGE_ALIPAY;
|
||||||
|
showMoreButton();
|
||||||
|
setAliPayFirst(defaultPay);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WX_PAY_CLOSE:
|
||||||
|
payChannel = Constants.CHARGE_WX;
|
||||||
|
showMoreButton();
|
||||||
|
setWxPayFirst(defaultPay);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ALI_PAY_OPEN:
|
||||||
|
payChannel = Constants.CHARGE_ALIPAY;
|
||||||
|
hideMoreButton();
|
||||||
|
setAliPayFirst(defaultPay);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WX_PAY_OPEN:
|
||||||
|
payChannel = Constants.CHARGE_WX;
|
||||||
|
hideMoreButton();
|
||||||
|
setWxPayFirst(defaultPay);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
defaultPay(defaultPay);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (CheckUtils.isCheckUser()) {
|
||||||
|
selectPayChannelDisplay(Constants.CHARGE_ALIPAY, defaultPay);
|
||||||
|
} else {
|
||||||
|
selectPayChannelDisplay(payChannel, defaultPay);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认支付方式
|
||||||
|
*
|
||||||
|
* @param defaultPay
|
||||||
|
*/
|
||||||
|
private void defaultPay(int defaultPay) {
|
||||||
|
payChannel = Constants.CHARGE_WX;
|
||||||
|
hideMoreButton();
|
||||||
|
setWxPayFirst(defaultPay);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setAliPayFirst(int defaultType) {
|
||||||
|
iv_type_first.setImageDrawable(getResources().getDrawable(R.drawable.dialog_charge_ic_alipay));
|
||||||
|
iv_type_second.setImageDrawable(getResources().getDrawable(R.drawable.dialog_charge_ic_wechat));
|
||||||
|
tv_type_first.setText("支付宝");
|
||||||
|
tv_type_second.setText("微信");
|
||||||
|
ll_type_first.setOnClickListener(v -> selectPayChannelDisplay(Constants.CHARGE_ALIPAY, defaultType));
|
||||||
|
ll_type_second.setOnClickListener(v -> selectPayChannelDisplay(Constants.CHARGE_WX, defaultType));
|
||||||
|
if (CheckUtils.isCheckUser()) {
|
||||||
|
ll_type_first.setVisibility(View.VISIBLE);
|
||||||
|
ll_type_second.setVisibility(View.GONE);
|
||||||
|
ll_more.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setWxPayFirst(int defaultType) {
|
||||||
|
iv_type_first.setImageDrawable(getResources().getDrawable(R.drawable.dialog_charge_ic_wechat));
|
||||||
|
iv_type_second.setImageDrawable(getResources().getDrawable(R.drawable.dialog_charge_ic_alipay));
|
||||||
|
tv_type_first.setText("微信");
|
||||||
|
tv_type_second.setText("支付宝");
|
||||||
|
ll_type_first.setOnClickListener(v -> selectPayChannelDisplay(Constants.CHARGE_WX, defaultType));
|
||||||
|
ll_type_second.setOnClickListener(v -> selectPayChannelDisplay(Constants.CHARGE_ALIPAY, defaultType));
|
||||||
|
if (CheckUtils.isCheckUser()) {
|
||||||
|
ll_type_first.setVisibility(View.GONE);
|
||||||
|
ll_type_second.setVisibility(View.VISIBLE);
|
||||||
|
ll_more.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
|
public void onGetPassword(PasswordEvent event) {
|
||||||
|
getDialogManager().showProgressDialog(this);
|
||||||
|
PaymentActivity.startToPay(this, Constants.CHARGE_UNION_PAY, event.getPassword());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean needSteepStateBar() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setStatusBar() {
|
||||||
|
super.setStatusBar();
|
||||||
|
StatusBarUtil.transparencyBar(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
super.onBackPressed();
|
||||||
|
finishPage();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void finishPage() {
|
||||||
|
finish();
|
||||||
|
if (!mIsFromH5) return;
|
||||||
|
EventBus.getDefault().post(new WebViewRefreshEvent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,30 +0,0 @@
|
|||||||
package com.yizhuan.erban.ui.pay;
|
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.Window;
|
|
||||||
|
|
||||||
import com.yizhuan.erban.R;
|
|
||||||
|
|
||||||
public class ChargeSuccessDialog extends Dialog {
|
|
||||||
|
|
||||||
public ChargeSuccessDialog(@NonNull Context context) {
|
|
||||||
super(context, R.style.dialog);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
|
||||||
setContentView(R.layout.charge_success_dialog);
|
|
||||||
findViewById(R.id.tv_dialog_close).setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
dismiss();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@@ -54,6 +54,7 @@ import com.yizhuan.erban.ui.gift.dialog.GiftInfoVm;
|
|||||||
import com.yizhuan.erban.ui.gift.dialog.MagicInfoVm;
|
import com.yizhuan.erban.ui.gift.dialog.MagicInfoVm;
|
||||||
import com.yizhuan.erban.ui.gift.dialog.PageIndicatorView;
|
import com.yizhuan.erban.ui.gift.dialog.PageIndicatorView;
|
||||||
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
||||||
|
import com.yizhuan.erban.ui.pay.ChargeDialog;
|
||||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
||||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||||
import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
|
import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
|
||||||
@@ -956,7 +957,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
|
|||||||
if (itemType == ITEM_TYPE_GOLD) {
|
if (itemType == ITEM_TYPE_GOLD) {
|
||||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_GIFT_PANEL_TO_RECHARGE, "礼物面板_去充值:" + GIFT_DIALOG_FROM);
|
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_GIFT_PANEL_TO_RECHARGE, "礼物面板_去充值:" + GIFT_DIALOG_FROM);
|
||||||
|
|
||||||
ChargeActivity.start(getContext());
|
ChargeDialog.start(getContext());
|
||||||
} else if (itemType == ITEM_TYPE_RADISH) {
|
} else if (itemType == ITEM_TYPE_RADISH) {
|
||||||
TaskCenterActivity.start(context, TaskCenterActivity.FromPage.GIFT);
|
TaskCenterActivity.start(context, TaskCenterActivity.FromPage.GIFT);
|
||||||
}
|
}
|
||||||
|
BIN
app/src/main/res/drawable-xhdpi/dialog_charge_bg_checked.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
app/src/main/res/drawable-xhdpi/dialog_charge_ic_alipay.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
app/src/main/res/drawable-xhdpi/dialog_charge_ic_wechat.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_charge_diamond.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
@@ -2,16 +2,16 @@
|
|||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:state_selected="true">
|
<item android:state_selected="true">
|
||||||
<shape android:shape="rectangle">
|
<shape android:shape="rectangle">
|
||||||
<corners android:radius="@dimen/dp_5" />
|
<corners android:radius="@dimen/dp_8" />
|
||||||
<stroke android:width="2dp" android:color="@color/app_248cfe" />
|
<stroke android:width="1dp" android:color="@color/app_248cfe" />
|
||||||
<solid android:color="@color/bg_secondary_2a2a39" />
|
<solid android:color="#FFFFFAEE" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<shape android:shape="rectangle">
|
<shape android:shape="rectangle">
|
||||||
<solid android:color="@color/bg_secondary_2a2a39" />
|
<solid android:color="@color/bg_secondary_2a2a39" />
|
||||||
<corners android:radius="@dimen/dp_5" />
|
<corners android:radius="@dimen/dp_8" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
</selector>
|
</selector>
|
7
app/src/main/res/drawable/shape_f4f4fa_top_8dp.xml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<solid android:color="@color/color_f4f4fa"/>
|
||||||
|
<corners android:topLeftRadius="@dimen/dp_8"
|
||||||
|
android:topRightRadius="@dimen/dp_8"/>
|
||||||
|
</shape>
|
@@ -11,16 +11,16 @@
|
|||||||
android:id="@+id/iv_bg"
|
android:id="@+id/iv_bg"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:src="@mipmap/bg_charge"
|
|
||||||
android:scaleType="fitXY"
|
android:scaleType="fitXY"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
android:src="@mipmap/bg_charge"
|
||||||
/>
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.yizhuan.erban.base.TitleBar
|
<com.yizhuan.erban.base.TitleBar
|
||||||
android:id="@+id/title_bar"
|
android:id="@+id/title_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/dp_30"
|
android:layout_marginTop="@dimen/dp_30"
|
||||||
|
tools:layout_height="50dp"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="我的钻石"
|
android:text="我的钻石"
|
||||||
android:textSize="@dimen/dp_13"
|
android:textSize="@dimen/dp_13"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/color_333333"
|
||||||
android:drawableStart="@mipmap/ic_charge_diamond"
|
android:drawableStart="@mipmap/ic_charge_diamond"
|
||||||
android:drawablePadding="@dimen/dp_4"
|
android:drawablePadding="@dimen/dp_4"
|
||||||
android:layout_below="@id/title_bar"
|
android:layout_below="@id/title_bar"
|
||||||
@@ -44,20 +44,20 @@
|
|||||||
android:id="@+id/tv_gold"
|
android:id="@+id/tv_gold"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="@color/appColor"
|
android:textColor="@color/color_333333"
|
||||||
android:textSize="@dimen/dp_36"
|
android:textSize="@dimen/dp_24"
|
||||||
android:layout_below="@id/tv_title_diamond"
|
android:layout_below="@id/tv_title_diamond"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
|
android:fontFamily="sans-serif-medium"
|
||||||
android:includeFontPadding="false"
|
android:includeFontPadding="false"
|
||||||
tools:text="50" />
|
tools:text="50" />
|
||||||
|
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
android:id="@+id/nsv_charge"
|
android:id="@+id/nsv_charge"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@id/tv_gold"
|
android:layout_below="@id/tv_gold"
|
||||||
android:layout_marginTop="30dp"
|
android:layout_marginTop="45dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -73,7 +73,17 @@
|
|||||||
android:paddingStart="@dimen/dp_11"
|
android:paddingStart="@dimen/dp_11"
|
||||||
android:paddingEnd="@dimen/dp_11"
|
android:paddingEnd="@dimen/dp_11"
|
||||||
android:visibility="visible" />
|
android:visibility="visible" />
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_marginStart="30dp"
|
||||||
|
android:layout_marginEnd="30dp"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:text="未成年禁止充值消费!请勿轻易相信各类刷单、退款等信息,以免上当受骗!"
|
||||||
|
android:textColor="@color/color_666666"
|
||||||
|
android:textSize="14sp"
|
||||||
|
/>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -83,7 +93,7 @@
|
|||||||
android:background="@drawable/bg_secondary_radius_5"
|
android:background="@drawable/bg_secondary_radius_5"
|
||||||
android:layout_marginStart="@dimen/dp_15"
|
android:layout_marginStart="@dimen/dp_15"
|
||||||
android:layout_marginEnd="@dimen/dp_15"
|
android:layout_marginEnd="@dimen/dp_15"
|
||||||
android:layout_marginTop="@dimen/dp_13"
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,74 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@color/transparent">
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/container"
|
|
||||||
android:layout_width="290dp"
|
|
||||||
android:layout_height="216dp"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:layout_centerHorizontal="true">
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/open_red_packet"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:background="@drawable/icon_charge_dialog_bg"
|
|
||||||
android:visibility="visible">
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/tip_container"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
android:layout_below="@+id/container"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
>
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="14dp"
|
|
||||||
android:text="您已成功兑换"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/gold_text"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@color/appColor"
|
|
||||||
android:textSize="16dp"
|
|
||||||
android:text="20钻石"
|
|
||||||
android:textStyle="bold"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="14dp"
|
|
||||||
android:text=",可到我的钱包里查看"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btn_charge"
|
|
||||||
android:layout_width="181dp"
|
|
||||||
android:layout_height="40dp"
|
|
||||||
android:layout_marginTop="20dp"
|
|
||||||
android:layout_below="@+id/tip_container"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:background="@drawable/shape_semi_round_gray_solid"
|
|
||||||
android:text="我知道了"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="16dp" />
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
239
app/src/main/res/layout/dialog_charge.xml
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
<?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="505dp"
|
||||||
|
android:layout_gravity="bottom"
|
||||||
|
android:background="@drawable/shape_f4f4fa_top_8dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<com.yizhuan.erban.base.TitleBar
|
||||||
|
android:id="@+id/title_bar"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_gold"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@id/title_bar"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:baselineAligned="true"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_title_diamond"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
|
android:drawablePadding="@dimen/dp_4"
|
||||||
|
android:text="我的钻石:"
|
||||||
|
android:textColor="@color/color_333333"
|
||||||
|
android:textSize="@dimen/dp_14" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_gold"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="6dp"
|
||||||
|
android:includeFontPadding="false"
|
||||||
|
android:textColor="@color/color_333333"
|
||||||
|
android:textSize="@dimen/dp_15"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="50" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="15dp"
|
||||||
|
android:text="未成年人禁止充值"
|
||||||
|
android:textColor="#ff666666"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@id/ll_gold"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/recyclerView"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="186dp"
|
||||||
|
tools:itemCount="3"
|
||||||
|
tools:listitem="@layout/list_item_charge"
|
||||||
|
android:paddingStart="@dimen/dp_11"
|
||||||
|
android:paddingEnd="@dimen/dp_11"
|
||||||
|
android:visibility="visible" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_15"
|
||||||
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
android:layout_marginEnd="@dimen/dp_15"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="支付方式"
|
||||||
|
android:textColor="@color/text_normal_c6c6e9"
|
||||||
|
android:textSize="@dimen/dp_13" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_charge_type"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_type_first"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/selector_dialog_charge"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_type_first"
|
||||||
|
android:layout_width="28dp"
|
||||||
|
android:layout_height="28dp"
|
||||||
|
android:clickable="false"
|
||||||
|
tools:src="@drawable/dialog_charge_ic_wechat" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_type_first"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:clickable="false"
|
||||||
|
android:textColor="@color/text_title_white"
|
||||||
|
android:textSize="@dimen/dp_15"
|
||||||
|
tools:text="微信支付" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_type_second"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_marginStart="13dp"
|
||||||
|
android:background="@drawable/selector_dialog_charge"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_type_second"
|
||||||
|
android:layout_width="28dp"
|
||||||
|
android:layout_height="28dp"
|
||||||
|
android:clickable="false"
|
||||||
|
tools:src="@drawable/dialog_charge_ic_alipay" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_type_second"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:clickable="false"
|
||||||
|
android:textColor="@color/text_title_white"
|
||||||
|
android:textSize="@dimen/dp_15"
|
||||||
|
tools:text="支付宝支付" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_more"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_marginStart="13dp"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="gone">
|
||||||
|
|
||||||
|
<com.yizhuan.xchat_android_library.widget.DrawableCenterTextView
|
||||||
|
android:id="@+id/tv_more"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:clickable="false"
|
||||||
|
android:drawableEnd="@drawable/arrow_right"
|
||||||
|
android:drawablePadding="4dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="展开更多支付方式"
|
||||||
|
android:textColor="@color/text_normal_c6c6e9"
|
||||||
|
android:textSize="@dimen/dp_13" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_charge"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="45dp"
|
||||||
|
android:layout_marginStart="60dp"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:layout_marginEnd="@dimen/dp_60"
|
||||||
|
android:background="@drawable/bg_common_confirm_normal"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="确认充值"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="@dimen/dp_15"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:layout_marginTop="@dimen/dp_12"
|
||||||
|
android:layout_marginBottom="@dimen/dp_20"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/charge_agreement"
|
||||||
|
android:textColor="@color/text_secondary_4f516a"
|
||||||
|
android:textSize="@dimen/sp_12" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_agreement"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/agreement"
|
||||||
|
android:textColor="@color/app_248cfe"
|
||||||
|
android:textSize="@dimen/sp_12" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
@@ -1,45 +1,53 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/ll_gold_charge"
|
android:id="@+id/ll_gold_charge"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="85dp"
|
android:layout_height="64dp"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:gravity="center"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_margin="@dimen/dp_4"
|
android:layout_margin="@dimen/dp_4"
|
||||||
android:background="@drawable/selector_gold_price" >
|
android:background="@drawable/selector_gold_price"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
>
|
android:gravity="center">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:src="@drawable/ic_charge_diamond" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_money_gold"
|
android:id="@+id/tv_money_gold"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="@color/color_selector_app_color_false_white"
|
android:layout_marginStart="5dp"
|
||||||
|
android:fontFamily="sans-serif-medium"
|
||||||
android:includeFontPadding="false"
|
android:includeFontPadding="false"
|
||||||
android:textSize="18dp"
|
android:textColor="@color/color_333333"
|
||||||
|
android:textSize="14dp"
|
||||||
tools:text="8" />
|
tools:text="8" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:text="@string/diamond"
|
|
||||||
android:textSize="@dimen/dp_11"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:layout_marginStart="@dimen/dp_5"
|
android:layout_marginStart="@dimen/dp_5"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:text="@string/diamond"
|
||||||
android:textColor="@color/text_normal_c6c6e9"
|
android:textColor="@color/text_normal_c6c6e9"
|
||||||
/>
|
android:textSize="@dimen/dp_11"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/cb_money"
|
android:id="@+id/cb_money"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="15dp"
|
android:textColor="@color/color_999999"
|
||||||
tools:text="¥8元"
|
android:textSize="12dp"
|
||||||
android:textColor="@color/text_normal_c6c6e9" />
|
tools:text="¥8元" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
Before Width: | Height: | Size: 299 KiB After Width: | Height: | Size: 284 KiB |