1:羽声新版本
This commit is contained in:
@@ -61,5 +61,9 @@ dependencies {
|
||||
//annotationProcessor
|
||||
annotationProcessor 'com.alibaba:arouter-compiler:1.5.2'
|
||||
|
||||
implementation files('libs/WbCloudFaceLiveSdk-face-v6.6.2-8e4718fc.aar')
|
||||
implementation files('libs/WbCloudNormal-v5.1.10-4e3e198.aar')
|
||||
|
||||
|
||||
}
|
||||
apply plugin: 'com.alibaba.arouter' // ⚠️ 添加这一行
|
||||
@@ -38,9 +38,6 @@
|
||||
android:name=".activity.CreateAlbumActivity"
|
||||
android:exported="false"
|
||||
android:launchMode="singleTask" />
|
||||
<activity
|
||||
android:name=".activity.RealName1Activity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".activity.RevenueActivity"
|
||||
android:exported="false"
|
||||
@@ -143,6 +140,9 @@
|
||||
android:name=".activity.UnderageActivity"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTask" />
|
||||
<activity
|
||||
android:name=".activity.RealNameActivity"
|
||||
android:exported="false" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -1,10 +1,14 @@
|
||||
package com.example.modulevocal.activity;
|
||||
|
||||
|
||||
import android.content.Intent;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.databinding.ActivityAboutUsBinding;
|
||||
import com.xscm.moduleutil.activity.BaseAppCompatActivity;
|
||||
import com.xscm.moduleutil.activity.WebViewActivity;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.widget.CommonAppConfig;
|
||||
|
||||
@@ -16,11 +20,21 @@ public class AboutUsActivity extends BaseAppCompatActivity<ActivityAboutUsBindin
|
||||
mBinding.tvAppVersion.setText("Version " + CommonAppConfig.getInstance().getVersion());
|
||||
|
||||
mBinding.llYonghu.setOnClickListener(v -> {
|
||||
ARouter.getInstance().build(ARouteConstants.H5).withString("url", "file:///android_asset/page_yongh.html").withString("title", "用户协议").navigation();
|
||||
Intent intent = new Intent(this, WebViewActivity.class);
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "/api/Page/page_show?id=6");
|
||||
intent.putExtra("title", "用户协议");
|
||||
startActivity(intent);
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "/api/Page/page_show?id=6").withString("title", "用户协议").navigation();
|
||||
});
|
||||
|
||||
mBinding.llYins.setOnClickListener(v -> {
|
||||
ARouter.getInstance().build(ARouteConstants.H5).withString("url", "file:///android_asset/page_show.html").withString("title", "隐私协议").navigation();
|
||||
Intent intent = new Intent(this, WebViewActivity.class);
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "/api/Page/page_show?id=4");
|
||||
intent.putExtra("title", "隐私协议");
|
||||
startActivity(intent);
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "/api/Page/page_show?id=4").withString("title", "隐私协议").navigation();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.graphics.Color;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -46,10 +47,11 @@ import java.util.Date;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/6/6
|
||||
*@description: 相册详情
|
||||
* @author qx
|
||||
* @data 2025/6/6
|
||||
* @description: 相册详情
|
||||
*/
|
||||
@Route(path = ARouteConstants.USER_ALBUM_DETAIL)
|
||||
public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, ActivityAlbumDetailBinding> implements AlbumDetailConacts.View {
|
||||
@@ -200,13 +202,16 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
|
||||
.setImageEngine(GlideEngine.createGlideEngine())
|
||||
.setMaxSelectNum(type)
|
||||
.isPreviewImage(true)
|
||||
.isDisplayCamera(true)
|
||||
.isDisplayCamera(false)
|
||||
.setOutputCameraDir(Constants.FILE_PATH)
|
||||
.isOriginalSkipCompress(true)
|
||||
|
||||
.forResult(requestCode); //结果回调onActivityResult code
|
||||
}
|
||||
|
||||
private int totalUploadCount;//需要上传的数据的总数
|
||||
private int uploadedCount;//已经上传的数据的个数
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
@@ -222,6 +227,9 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
|
||||
String path = media.isCompressed() ? media.getCompressPath() : media.getRealPath();
|
||||
imageFiles.add(new File(path));
|
||||
}
|
||||
// 记录需要上传的文件总数
|
||||
totalUploadCount = imageFiles.size();
|
||||
uploadedCount = 0;
|
||||
// 开始批量上传
|
||||
MvpPre.batchUploadFiles(imageFiles, 0); // 第二个参数是你原来的 type
|
||||
|
||||
@@ -233,20 +241,29 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
|
||||
|
||||
@Override
|
||||
public void upLoadSuccess(String url, int type, int index, int total) {
|
||||
// 增加已上传计数
|
||||
uploadedCount++;
|
||||
uploadedUrls.add(url);
|
||||
// if (index >= 0 && index < uploadedUrls.size()) {
|
||||
// uploadedUrls.add(index, url); // 插入到对应位置
|
||||
// } else {
|
||||
// uploadedUrls.add(url); // 添加到最后
|
||||
// }
|
||||
|
||||
if (index >= 0 && index < uploadedUrls.size()) {
|
||||
uploadedUrls.add(index, url); // 插入到对应位置
|
||||
} else {
|
||||
uploadedUrls.add(url); // 添加到最后
|
||||
}
|
||||
|
||||
if (uploadedUrls.size() == total) {
|
||||
updateAdapterData(); // 所有图片上传完成,更新适配器数据
|
||||
// 当所有图片都上传完成时,更新适配器数据
|
||||
if (uploadedCount == totalUploadCount) {
|
||||
updateAdapterData();
|
||||
// 重置计数器
|
||||
uploadedCount = 0;
|
||||
totalUploadCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void upAddAlbum() {
|
||||
uploadedUrls.clear();
|
||||
// 添加图片后应该重置分页状态并重新加载第一页
|
||||
page = 1;
|
||||
MvpPre.getAlbumDetail(albumId, pwd, page + "", "10");
|
||||
}
|
||||
|
||||
@@ -256,35 +273,44 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
|
||||
dialog.setContentView(com.xscm.moduleutil.R.layout.bottom_sheet_recyclerview);
|
||||
|
||||
RecyclerView recyclerView = dialog.findViewById(com.xscm.moduleutil.R.id.rv_options);
|
||||
Button btnCancel = dialog.findViewById(com.xscm.moduleutil.R.id.btn_cancel);
|
||||
Button btnConfirm = dialog.findViewById(com.xscm.moduleutil.R.id.btn_confirm);
|
||||
|
||||
View btnCancel = dialog.findViewById(com.xscm.moduleutil.R.id.btn_cancel);
|
||||
View btnConfirm = dialog.findViewById(com.xscm.moduleutil.R.id.btn_confirm);
|
||||
TextView tvTitle = dialog.findViewById(com.xscm.moduleutil.R.id.tv_title);
|
||||
tvTitle.setText("选择相册");
|
||||
assert recyclerView != null;
|
||||
recyclerView.setLayoutManager(new GridLayoutManager(this,4));
|
||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 4));
|
||||
SingleChoiceAdapter sadapter = new SingleChoiceAdapter();
|
||||
recyclerView.setAdapter(sadapter);
|
||||
sadapter.setNewData(data);
|
||||
btnCancel.setOnClickListener(v -> dialog.dismiss());
|
||||
// 添加空值检查以提高代码健壮性
|
||||
if (btnCancel != null) {
|
||||
btnCancel.setOnClickListener(v -> dialog.dismiss());
|
||||
}
|
||||
if (btnConfirm != null) {
|
||||
btnConfirm.setOnClickListener(v -> {
|
||||
AlbumBean selectedItem = sadapter.getSelectedItem();
|
||||
|
||||
btnConfirm.setOnClickListener(v -> {
|
||||
AlbumBean selectedItem = sadapter.getSelectedItem();
|
||||
|
||||
if (selectedItem != null) {
|
||||
MvpPre.moveAlbum(adapter.getSelectedPhotoIdsAsString(), selectedItem.getId());
|
||||
}
|
||||
dialog.dismiss();
|
||||
});
|
||||
if (selectedItem != null) {
|
||||
MvpPre.moveAlbum(adapter.getSelectedPhotoIdsAsString(), selectedItem.getId());
|
||||
}
|
||||
dialog.dismiss();
|
||||
});
|
||||
|
||||
}
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveAlbum() {
|
||||
// 移动图片后应该重置分页状态并重新加载第一页
|
||||
page = 1;
|
||||
MvpPre.getAlbumDetail(albumId, pwd, "1", "10");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAlbum() {
|
||||
// 删除图片后应该重置分页状态并重新加载第一页
|
||||
page = 1;
|
||||
MvpPre.getAlbumDetail(albumId, pwd, "1", "10");
|
||||
}
|
||||
|
||||
@@ -293,6 +319,12 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
|
||||
updateZanButtonUI(albumBean1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void findAlbum() {
|
||||
mBinding.smartRefreshLayout.finishRefresh();
|
||||
mBinding.smartRefreshLayout.finishLoadMore();
|
||||
}
|
||||
|
||||
private void updateAdapterData() {
|
||||
String imageUrlsString = TextUtils.join(",", uploadedUrls);
|
||||
MvpPre.upAddAlbum(albumId, imageUrlsString, "");
|
||||
@@ -301,6 +333,7 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
page = 1;
|
||||
MvpPre.getAlbumDetail(albumId, pwd, "1", "10");
|
||||
}
|
||||
|
||||
@@ -317,7 +350,11 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
|
||||
private void updateZanButtonUI(AlbumBean albumBean) {
|
||||
if (albumBean.getIs_like().equals("0")) {
|
||||
mBinding.zanImage.setImageResource(com.xscm.moduleutil.R.mipmap.shousz); // 已点赞图标
|
||||
mBinding.dyComment.setText(Integer.parseInt(albumBean.getLike_num()) - 1 + "");
|
||||
if (Integer.parseInt(albumBean.getLike_num()) == 0) {
|
||||
mBinding.dyComment.setText("0");
|
||||
} else {
|
||||
mBinding.dyComment.setText(Integer.parseInt(albumBean.getLike_num()) - 1 + "");
|
||||
}
|
||||
} else {
|
||||
mBinding.zanImage.setImageResource(com.xscm.moduleutil.R.mipmap.showszc); // 未点赞图标
|
||||
mBinding.dyComment.setText(Integer.parseInt(albumBean.getLike_num()) + 1 + "");
|
||||
@@ -375,9 +412,23 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
|
||||
}
|
||||
mBinding.dyComment.setText(albumBean.getLike_num() != null && !albumBean.getLike_num().isEmpty() ? albumBean.getLike_num() : "0");
|
||||
mBinding.lockComment.setText(albumBean.getRead_num() != null && !albumBean.getRead_num().isEmpty() ? albumBean.getRead_num() : "0");
|
||||
List<AlbumBean.ImageList> allImages = albumBean.getImage_list();
|
||||
List<AlbumBean.ImageList> groupedPhotos = groupPhotos(allImages);
|
||||
adapter.setNewData(groupedPhotos);
|
||||
if (albumBean.getImage_list() != null && !albumBean.getImage_list().isEmpty()) {
|
||||
List<AlbumBean.ImageList> allImages = albumBean.getImage_list();
|
||||
List<AlbumBean.ImageList> groupedPhotos = groupPhotos(allImages);
|
||||
if (page == 1) {
|
||||
adapter.setNewData(groupedPhotos);
|
||||
} else {
|
||||
adapter.addData(groupedPhotos);
|
||||
}
|
||||
} else {
|
||||
if (page == 1) {
|
||||
adapter.setNewData(new ArrayList<>());
|
||||
}
|
||||
// page=1;
|
||||
// if (albumBean.getCount()==null || albumBean.getCount().equals("0")){
|
||||
// adapter.setNewData( new ArrayList<>());
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.example.modulevocal.conacts.WithdrawalConacts;
|
||||
import com.example.modulevocal.databinding.ActivityBindCardBinding;
|
||||
import com.example.modulevocal.presenter.WithdrawalPresenter;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.bean.BindDetail;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.bean.WalletConfig;
|
||||
@@ -75,6 +76,16 @@ public class BindCardActivity extends BaseMvpActivity<WithdrawalPresenter, Activ
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindDetai(BindDetail bindDetail) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finishRefreshLoadMore() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.example.modulevocal.databinding.ActivityBindCardDetailsBinding;
|
||||
import com.example.modulevocal.presenter.WithdrawalPresenter;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.bean.BindDetail;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.bean.WalletConfig;
|
||||
@@ -32,6 +33,7 @@ public class BindCardDetailsActivity extends BaseMvpActivity<WithdrawalPresenter
|
||||
protected void initData() {
|
||||
type=getIntent().getStringExtra("type");
|
||||
|
||||
MvpPre.bindDetai(SpUtil.getUserId()+"",type);
|
||||
if (type.equals("1")){
|
||||
mBinding.topBar.setTitle("微信绑卡");
|
||||
mBinding.cet1.setVisibility(VISIBLE);
|
||||
@@ -58,6 +60,7 @@ public class BindCardDetailsActivity extends BaseMvpActivity<WithdrawalPresenter
|
||||
}
|
||||
|
||||
|
||||
|
||||
mBinding.tvSend.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -127,6 +130,52 @@ public class BindCardDetailsActivity extends BaseMvpActivity<WithdrawalPresenter
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindDetai(BindDetail bindDetail) {
|
||||
if (bindDetail!=null){
|
||||
if (type.equals("2")){
|
||||
mBinding.cet1.setText(bindDetail.getAlipay_account());
|
||||
return;
|
||||
}
|
||||
if (type.equals("3")){
|
||||
mBinding.cet2.setText(bindDetail.getBank_card_number());
|
||||
mBinding.cet3.setText(bindDetail.getBank_card());
|
||||
mBinding.cet4.setText(bindDetail.getOpen_bank());
|
||||
return;
|
||||
}
|
||||
}else {
|
||||
if (type.equals("1")){
|
||||
mBinding.topBar.setTitle("微信绑卡");
|
||||
mBinding.cet1.setVisibility(VISIBLE);
|
||||
mBinding.cet2.setVisibility(GONE);
|
||||
mBinding.cet3.setVisibility(GONE);
|
||||
mBinding.cet4.setVisibility(GONE);
|
||||
mBinding.cet1.setHint("微信账户");
|
||||
}else if (type.equals("2")){
|
||||
mBinding.topBar.setTitle("支付宝绑卡");
|
||||
mBinding.cet1.setVisibility(VISIBLE);
|
||||
mBinding.cet2.setVisibility(GONE);
|
||||
mBinding.cet3.setVisibility(GONE);
|
||||
mBinding.cet4.setVisibility(GONE);
|
||||
mBinding.cet1.setHint("支付宝账户");
|
||||
} else if (type.equals("3")) {
|
||||
mBinding.topBar.setTitle("银行卡绑卡");
|
||||
mBinding.cet1.setVisibility(GONE);
|
||||
mBinding.cet2.setVisibility(VISIBLE);
|
||||
mBinding.cet3.setVisibility(VISIBLE);
|
||||
mBinding.cet4.setVisibility(VISIBLE);
|
||||
mBinding.cet2.setHint("银行卡号");
|
||||
mBinding.cet3.setHint("所属银行");
|
||||
mBinding.cet4.setHint("银行卡开户行");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finishRefreshLoadMore() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected WithdrawalPresenter bindPresenter() {
|
||||
|
||||
@@ -186,7 +186,7 @@ public class CreateAlbumActivity extends BaseMvpActivity<MyAlbumPresenter, Activ
|
||||
.setImageEngine(GlideEngine.createGlideEngine())
|
||||
.setMaxSelectNum(type)
|
||||
.isPreviewImage(true)
|
||||
.isDisplayCamera(true)
|
||||
.isDisplayCamera(false)
|
||||
.setOutputCameraDir(Constants.FILE_PATH)
|
||||
.isOriginalSkipCompress(true)
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
|
||||
// mRoomTypeAdapter.setNewData(roomTypeInfos);
|
||||
|
||||
// MvpPre.roomLabel("create");
|
||||
handler.post(showPopupRunnable);
|
||||
|
||||
// roomInfoResp = (RoomInfoResp) getIntent().getSerializableExtra("roomInfo");
|
||||
|
||||
if (roomInfoResp!=null){
|
||||
@@ -99,6 +99,12 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
|
||||
mBinding.edNickName.setText(roomInfoResp.getRoom_info().getRoom_name());
|
||||
mBinding.etG.setText(roomInfoResp.getRoom_info().getRoom_intro());
|
||||
roomUrl=roomInfoResp.getRoom_info().getRoom_cover();
|
||||
}else {
|
||||
if (handler!=null ){
|
||||
if (showPopupRunnable!=null){
|
||||
handler.post(showPopupRunnable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,15 +135,17 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
|
||||
}
|
||||
}
|
||||
});
|
||||
popupWindow = new CustomPopWindow.PopupWindowBuilder(this)
|
||||
.setView(R.layout.pop_layout1)//显示的布局
|
||||
.setFocusable(false) // 关键点:不要抢占焦点
|
||||
.create();//创建PopupWindow
|
||||
mBinding.tvSave.post(() -> {
|
||||
if (!isFinishing() && !isDestroyed()) {
|
||||
popupWindow.showAsDropDown(mBinding.tvSave);
|
||||
}
|
||||
});
|
||||
if (roomInfoResp == null) {
|
||||
popupWindow = new CustomPopWindow.PopupWindowBuilder(this)
|
||||
.setView(R.layout.pop_layout1)//显示的布局
|
||||
.setFocusable(false) // 关键点:不要抢占焦点
|
||||
.create();//创建PopupWindow
|
||||
mBinding.tvSave.post(() -> {
|
||||
if (!isFinishing() && !isDestroyed()) {
|
||||
popupWindow.showAsDropDown(mBinding.tvSave);
|
||||
}
|
||||
});
|
||||
}
|
||||
mBinding.tvSujRoomName.setOnClickListener(this::onClick);
|
||||
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvSave, ColorManager.getInstance().getPrimaryColorInt(), 53);
|
||||
@@ -147,9 +155,13 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
handler.removeCallbacks(showPopupRunnable);
|
||||
if (popupWindow != null) {
|
||||
popupWindow.dissmiss();
|
||||
if (handler!=null ) {
|
||||
if (showPopupRunnable!=null) {
|
||||
handler.removeCallbacks(showPopupRunnable);
|
||||
if (popupWindow != null) {
|
||||
popupWindow.dissmiss();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,7 +221,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
|
||||
.setImageEngine(GlideEngine.createGlideEngine())
|
||||
.setMaxSelectNum(1)
|
||||
.isPreviewImage(true)
|
||||
.isDisplayCamera(true)
|
||||
.isDisplayCamera(false)
|
||||
.setOutputCameraDir(Constants.FILE_PATH)
|
||||
.isOriginalSkipCompress(true)
|
||||
|
||||
|
||||
@@ -51,79 +51,18 @@ public class CurrencyExchangeActivity extends BaseMvpActivity<CurrencyExchangePr
|
||||
mBinding.t5.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (walletBean == null){
|
||||
return;
|
||||
}
|
||||
float earnings_num = Float.parseFloat(walletBean.getEarnings());
|
||||
int earnings_num_int = (int) Math.floor(earnings_num);
|
||||
// 获取 earnings 值
|
||||
String earnings = truncateToFirstDecimalPlace(walletBean.getEarnings());
|
||||
mBinding.etCustomAmount.setText(earnings);
|
||||
mBinding.etCustomAmount.setText(earnings_num_int+"");
|
||||
}
|
||||
});
|
||||
|
||||
TextInputEditText etCustomAmount = mBinding.etCustomAmount;
|
||||
|
||||
// 限制只能输入数字和小数点后一位
|
||||
etCustomAmount.setKeyListener(DigitsKeyListener.getInstance("0123456789."));
|
||||
etCustomAmount.setFilters(new InputFilter[]{ (source, start, end, dest, dstart, dend) -> {
|
||||
// 防止输入负号
|
||||
if (source.toString().contains("-")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
String newText = dest.toString().substring(0, dstart) + source.toString() + dest.toString().substring(dend);
|
||||
|
||||
// 检查小数点
|
||||
if (newText.contains(".")) {
|
||||
String[] splitResult = newText.split("\\.");
|
||||
if (splitResult.length > 1 && splitResult[1].length() > 1) {
|
||||
// 小数点后只能有一位
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
// 可选:限制最大长度
|
||||
if (newText.length() > 10) {
|
||||
return "";
|
||||
}
|
||||
|
||||
return null;
|
||||
}});
|
||||
|
||||
// 可选:添加 TextWatcher 来监听输入内容变化
|
||||
etCustomAmount.addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
// 如果以小数点开头,自动补 0
|
||||
if (s.toString().startsWith(".")) {
|
||||
s.insert(0, "0");
|
||||
}
|
||||
// 如果以多个 0 开头,只保留一个
|
||||
if (s.toString().startsWith("0") && s.toString().length() > 1 && s.toString().charAt(1) != '.') {
|
||||
s.delete(0, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
private String truncateToFirstDecimalPlace(String value) {
|
||||
if (TextUtils.isEmpty(value)) return "0.0";
|
||||
|
||||
int dotIndex = value.indexOf('.');
|
||||
if (dotIndex == -1) {
|
||||
return value + ".0"; // 没有小数点,默认加 .0
|
||||
}
|
||||
|
||||
String integerPart = value.substring(0, dotIndex);
|
||||
String decimalPart = value.substring(dotIndex + 1);
|
||||
|
||||
if (decimalPart.length() >= 1) {
|
||||
return integerPart + "." + decimalPart.charAt(0); // 只取小数点后一位
|
||||
} else {
|
||||
return integerPart + ".0"; // 小数点后为空,默认加 0
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
@@ -139,6 +78,7 @@ public class CurrencyExchangeActivity extends BaseMvpActivity<CurrencyExchangePr
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
MvpPre.wallet();
|
||||
MvpPre.getWalletConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.example.modulevocal.presenter.DailyTasksPresenter;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.activity.WebViewActivity;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.GiftBoxBean;
|
||||
import com.xscm.moduleutil.bean.GiftName;
|
||||
import com.xscm.moduleutil.bean.TaskItem;
|
||||
@@ -74,7 +75,7 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
||||
|
||||
mBinding.imGz.setOnClickListener(v -> {
|
||||
Intent intent = new Intent(this, WebViewActivity.class);
|
||||
intent.putExtra("url", "https://vespa.qxmier.com/web/index.html#/pages/other/taskDesc");
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/other/taskDesc");
|
||||
intent.putExtra("title", "规则 ");
|
||||
startActivity(intent);
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.xscm.moduleutil.utils.DateSelectDialog;
|
||||
import com.xscm.moduleutil.utils.GlideEngine;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
import com.xscm.moduleutil.widget.Constants;
|
||||
import com.xscm.moduleutil.widget.img.FullScreenUtil;
|
||||
import com.xscm.moduleutil.widget.picker.PictureSelectorUtil;
|
||||
import com.stx.xhb.xbanner.XBanner;
|
||||
@@ -98,8 +99,14 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
updateAdapterData();
|
||||
} else {
|
||||
if (item.equals(UserPhotoWallAdapter.ADD_PHOTO)) {
|
||||
// 点击的是“+”号,启动图片选择
|
||||
startChoosePhoto(1, PictureConfig.REQUEST_CAMERA, false, 9);
|
||||
// 修改判断条件,考虑已上传的图片和ADD_PHOTO项
|
||||
int maxSelectable = 6 - uploadedUrls.size();
|
||||
if (maxSelectable > 0) {
|
||||
// 点击的是"+"'号,启动图片选择
|
||||
startChoosePhoto(1, PictureConfig.REQUEST_CAMERA, false, maxSelectable, false);
|
||||
} else {
|
||||
ToastUtils.showShort("最多只能选择6张图片");
|
||||
}
|
||||
} else {
|
||||
// 查看大图或其他操作
|
||||
FullScreenUtil.showFullScreenDialog(EditUserInfoActivity.this, position, list);
|
||||
@@ -131,7 +138,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
|
||||
private void onClick(View view) {
|
||||
if (view.getId() == R.id.rv_user_head) {
|
||||
startChoosePhoto(1, PictureConfig.REQUEST_GO_SETTING, false, 1);
|
||||
startChoosePhoto(1, PictureConfig.REQUEST_GO_SETTING, false, 1,true);
|
||||
} else if (view.getId() == R.id.rl_1) {
|
||||
startActivity(new Intent(this, ChangeNicknameActivity.class));
|
||||
} else if (view.getId() == R.id.rl_3) {
|
||||
@@ -155,7 +162,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
return new EditUserPresenter(this, this);
|
||||
}
|
||||
|
||||
private void startChoosePhoto(int mimeType, int requestCode, boolean isVideo, int type) {
|
||||
private void startChoosePhoto(int mimeType, int requestCode, boolean isVideo, int type , boolean isCq) {
|
||||
|
||||
// PictureSelector.create(this)
|
||||
// .openGallery(mimeType)
|
||||
@@ -169,80 +176,98 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
// .setPictureStyle(MyPictureParameterStyle.Companion.selectPicture())
|
||||
// .forResult(requestCode); //结果回调onActivityResult code
|
||||
|
||||
PictureSelectorUtil pictureSelectorUtil = new PictureSelectorUtil();
|
||||
|
||||
PictureSelector.create(this)
|
||||
.openGallery(mimeType)
|
||||
.isGif(isVideo)
|
||||
.setMaxSelectNum(type)
|
||||
.isPreviewImage(false)
|
||||
.setImageEngine(GlideEngine.createGlideEngine())
|
||||
.setImageEngine(GlideEngine.createGlideEngine()) // 选择器展示不出图片则添加
|
||||
.setCropEngine(new CropFileEngine() {
|
||||
@Override
|
||||
public void onStartCrop(Fragment fragment, Uri srcUri, Uri destinationUri, ArrayList<String> dataSource, int requestCode) {
|
||||
UCrop.Options options = pictureSelectorUtil.buildOptions();
|
||||
UCrop uCrop = UCrop.of(srcUri, destinationUri, dataSource);
|
||||
uCrop.withOptions(options);
|
||||
uCrop.setImageEngine(new UCropImageEngine() {
|
||||
@Override
|
||||
public void loadImage(Context context, String url, ImageView imageView) {
|
||||
// if (!ImageLoaderUtils.assertValidRequest(context)) {
|
||||
// return;
|
||||
// }
|
||||
Glide.with(context).load(url).override(180, 180).into(imageView);
|
||||
}
|
||||
if (!isCq) {
|
||||
|
||||
@Override
|
||||
public void loadImage(Context context, Uri url, int maxWidth, int maxHeight, OnCallbackListener<Bitmap> call) {
|
||||
Glide.with(context).asBitmap().load(url).override(maxWidth, maxHeight).into(new CustomTarget<Bitmap>() {
|
||||
@Override
|
||||
public void onResourceReady(@NonNull Bitmap resource, @org.jetbrains.annotations.Nullable Transition<? super Bitmap> transition) {
|
||||
if (call != null) {
|
||||
call.onCall(resource);
|
||||
PictureSelector.create(this)
|
||||
.openGallery(mimeType)
|
||||
.isGif(isVideo)
|
||||
.setImageEngine(GlideEngine.createGlideEngine())
|
||||
.setMaxSelectNum(type)
|
||||
.isPreviewImage(true)
|
||||
.isDisplayCamera(false)
|
||||
.setOutputCameraDir(Constants.FILE_PATH)
|
||||
.isOriginalSkipCompress(true)
|
||||
|
||||
.forResult(requestCode); //结果回调onActivityResult code
|
||||
} else {
|
||||
|
||||
PictureSelectorUtil pictureSelectorUtil = new PictureSelectorUtil();
|
||||
|
||||
PictureSelector.create(this)
|
||||
.openGallery(mimeType)
|
||||
.isGif(isVideo)
|
||||
.setMaxSelectNum(type)
|
||||
.isPreviewImage(false)
|
||||
.isDisplayCamera(false)
|
||||
.setImageEngine(GlideEngine.createGlideEngine())
|
||||
.setImageEngine(GlideEngine.createGlideEngine()) // 选择器展示不出图片则添加
|
||||
.setCropEngine(new CropFileEngine() {
|
||||
@Override
|
||||
public void onStartCrop(Fragment fragment, Uri srcUri, Uri destinationUri, ArrayList<String> dataSource, int requestCode) {
|
||||
UCrop.Options options = pictureSelectorUtil.buildOptions();
|
||||
UCrop uCrop = UCrop.of(srcUri, destinationUri, dataSource);
|
||||
uCrop.withOptions(options);
|
||||
uCrop.setImageEngine(new UCropImageEngine() {
|
||||
@Override
|
||||
public void loadImage(Context context, String url, ImageView imageView) {
|
||||
Glide.with(context).load(url).override(180, 180).into(imageView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadImage(Context context, Uri url, int maxWidth, int maxHeight, OnCallbackListener<Bitmap> call) {
|
||||
Glide.with(context).asBitmap().load(url).override(maxWidth, maxHeight).into(new CustomTarget<Bitmap>() {
|
||||
@Override
|
||||
public void onResourceReady(@NonNull Bitmap resource, @org.jetbrains.annotations.Nullable Transition<? super Bitmap> transition) {
|
||||
if (call != null) {
|
||||
call.onCall(resource);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadCleared(@org.jetbrains.annotations.Nullable Drawable placeholder) {
|
||||
if (call != null) {
|
||||
call.onCall(null);
|
||||
@Override
|
||||
public void onLoadCleared(@org.jetbrains.annotations.Nullable Drawable placeholder) {
|
||||
if (call != null) {
|
||||
call.onCall(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
uCrop.start(fragment.requireActivity(), fragment, requestCode);
|
||||
}
|
||||
})
|
||||
.forResult(requestCode);
|
||||
});
|
||||
}
|
||||
});
|
||||
uCrop.start(fragment.requireActivity(), fragment, requestCode);
|
||||
}
|
||||
})
|
||||
.forResult(requestCode);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private int totalUploadCount;//需要上传的数据的总数
|
||||
private int uploadedCount;//已经上传的数据的个数
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
if (resultCode == RESULT_OK && data != null) {
|
||||
switch (requestCode) {
|
||||
case PictureConfig.REQUEST_GO_SETTING:
|
||||
PictureSelector.create(EditUserInfoActivity.this)
|
||||
.openPreview() ;
|
||||
.openPreview();
|
||||
List<LocalMedia> localMedia1 = PictureSelector.obtainSelectorList(data);
|
||||
if (localMedia1 != null && localMedia1.size() != 0) {
|
||||
LocalMedia imgMedia = localMedia1.get(0);
|
||||
String url;
|
||||
if (imgMedia.isCompressed()) {
|
||||
url = imgMedia.getCompressPath();
|
||||
} else {
|
||||
url = imgMedia.getRealPath();
|
||||
}
|
||||
// if (imgMedia.isCompressed()) {
|
||||
// url = imgMedia.getCompressPath();
|
||||
// } else {
|
||||
// url = imgMedia.getRealPath();
|
||||
// }
|
||||
url=imgMedia.getCutPath();
|
||||
MvpPre.uploadFile(new File(url), 1, 1, 1);
|
||||
}
|
||||
break;
|
||||
|
||||
case PictureConfig.CHOOSE_REQUEST:
|
||||
PictureSelector.create(EditUserInfoActivity.this)
|
||||
.openPreview() ;
|
||||
.openPreview();
|
||||
|
||||
List<LocalMedia> localMedia = PictureSelector.obtainSelectorList(data);
|
||||
if (localMedia != null && localMedia.size() != 0) {
|
||||
@@ -258,7 +283,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
break;
|
||||
case PictureConfig.REQUEST_CAMERA:
|
||||
PictureSelector.create(EditUserInfoActivity.this)
|
||||
.openPreview() ;
|
||||
.openPreview();
|
||||
List<LocalMedia> localMediaList = PictureSelector.obtainSelectorList(data);
|
||||
|
||||
if (localMediaList != null && !localMediaList.isEmpty()) {
|
||||
@@ -267,7 +292,9 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
String path = media.isCompressed() ? media.getCompressPath() : media.getRealPath();
|
||||
imageFiles.add(new File(path));
|
||||
}
|
||||
|
||||
// 记录需要上传的文件总数
|
||||
totalUploadCount = imageFiles.size();
|
||||
uploadedCount = 0;
|
||||
// 开始批量上传
|
||||
MvpPre.batchUploadFiles(imageFiles, 0); // 第二个参数是你原来的 type
|
||||
|
||||
@@ -299,7 +326,9 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
}
|
||||
list.clear();
|
||||
list.addAll(uploadedUrls);
|
||||
list.add(UserPhotoWallAdapter.ADD_PHOTO); // 最后加上 ADD_PHOTO
|
||||
if (list.size()<6) {
|
||||
list.add(UserPhotoWallAdapter.ADD_PHOTO); // 最后加上 ADD_PHOTO
|
||||
}
|
||||
mUserPhotoWallAdapter.setNewData(list);
|
||||
userInfo1 = userInfo;
|
||||
List<XBannerData> s = new ArrayList<>();
|
||||
@@ -324,27 +353,28 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
}
|
||||
});
|
||||
|
||||
V2TIMUserFullInfo userFullInfo = new V2TIMUserFullInfo();
|
||||
userFullInfo.setNickname(userInfo.getNickname());
|
||||
userFullInfo.setFaceUrl(userInfo.getAvatar());
|
||||
userFullInfo.setAllowType(userInfo.getSex());
|
||||
V2TIMManager.getInstance().setSelfInfo(userFullInfo, new V2TIMCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
LogUtils.e("@@@", "成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String desc) {
|
||||
LogUtils.e("@@@", "描述" + desc);
|
||||
}
|
||||
});
|
||||
// V2TIMUserFullInfo userFullInfo = new V2TIMUserFullInfo();
|
||||
// userFullInfo.setNickname(userInfo.getNickname());
|
||||
// userFullInfo.setFaceUrl(userInfo.getAvatar());
|
||||
// userFullInfo.setAllowType(userInfo.getSex());
|
||||
// V2TIMManager.getInstance().setSelfInfo(userFullInfo, new V2TIMCallback() {
|
||||
// @Override
|
||||
// public void onSuccess() {
|
||||
// LogUtils.e("@@@", "成功");
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onError(int code, String desc) {
|
||||
// LogUtils.e("@@@", "描述" + desc);
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editUserInfoSuccess(String s) {
|
||||
ToastUtils.showShort(s);
|
||||
MvpPre.getUserHome(SpUtil.getUserId() + "");
|
||||
// uploadedUrls.clear();
|
||||
// MvpPre.getUserHome(SpUtil.getUserId() + "");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -363,25 +393,27 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
|
||||
EventBus.getDefault().post(userBean);
|
||||
MvpPre.editUserInfo("", "", "", url, "", "", "");
|
||||
} else {
|
||||
// list.add(new UserImgList("1", url));
|
||||
// mUserPhotoWallAdapter.setNewData(list);
|
||||
|
||||
if (index >= 0 && index < uploadedUrls.size()) {
|
||||
uploadedUrls.add(index, url); // 插入到对应位置
|
||||
} else {
|
||||
uploadedUrls.add(url); // 添加到最后
|
||||
}
|
||||
|
||||
if (uploadedUrls.size() == total) {
|
||||
updateAdapterData(); // 所有图片上传完成,更新适配器数据
|
||||
// 增加已上传计数
|
||||
uploadedCount++;
|
||||
uploadedUrls.add(url);
|
||||
LogUtils.d("EditUserInfoActivity", "图片已插入到位置 " + uploadedUrls.size());
|
||||
// 当所有图片都上传完成时,更新适配器数据
|
||||
if (uploadedCount == totalUploadCount) {
|
||||
updateAdapterData();
|
||||
// 重置计数器
|
||||
uploadedCount = 0;
|
||||
totalUploadCount = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateAdapterData() {
|
||||
LogUtils.d("EditUserInfoActivity", "图片已添加到末尾"+uploadedUrls.size());
|
||||
list.clear();
|
||||
list.addAll(uploadedUrls); // 添加真实图片
|
||||
list.add(UserPhotoWallAdapter.ADD_PHOTO); // 最后加上 ADD_PHOTO
|
||||
if (list.size() < 6) {
|
||||
list.add(UserPhotoWallAdapter.ADD_PHOTO); // 最后加上 ADD_PHOTO
|
||||
}
|
||||
mUserPhotoWallAdapter.setNewData(list);
|
||||
String imageUrlsString = TextUtils.join(",", uploadedUrls);
|
||||
// MvpPre.editUserInfo("", "", "", "", imageUrlsString, "", "");
|
||||
|
||||
@@ -67,6 +67,11 @@ public class MyBagActivity extends BaseMvpActivity<MyBagPresenter, ActivityMyBag
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finishRefreshLoadMore() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.example.modulevocal.presenter.MyMoneyPresenter;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -45,6 +46,8 @@ public class MyMoneyActivity extends BaseMvpActivity<MyMoneyPresenter, ActivityM
|
||||
super.onResume();
|
||||
MvpPre.wallet();
|
||||
MvpPre.bindType(SpUtil.getUserId() + "");
|
||||
MvpPre.getMyInfo();
|
||||
|
||||
}
|
||||
|
||||
private void onClick(View view) {
|
||||
@@ -125,4 +128,9 @@ public class MyMoneyActivity extends BaseMvpActivity<MyMoneyPresenter, ActivityM
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void myInfoSuccess(UserInfo data) {
|
||||
SpUtil.saveUserInfo(data);
|
||||
}
|
||||
}
|
||||
@@ -26,21 +26,26 @@ import com.example.modulevocal.presenter.MyRoomPresenter;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.base.RoomManager;
|
||||
import com.xscm.moduleutil.bean.AttentionResp;
|
||||
import com.xscm.moduleutil.bean.ManageRoomResp;
|
||||
import com.xscm.moduleutil.bean.MyCpRoom;
|
||||
import com.xscm.moduleutil.bean.MyFootResp;
|
||||
import com.xscm.moduleutil.bean.MyRoomBean;
|
||||
import com.xscm.moduleutil.event.RoomOutEvent;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
import com.xscm.moduleutil.widget.CustomTopBar;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*@author
|
||||
*@data 2025/5/15
|
||||
*@description: 我的房间
|
||||
* @author
|
||||
* @data 2025/5/15
|
||||
* @description: 我的房间
|
||||
*/
|
||||
@Route(path = ARouteConstants.MY_ROOM)
|
||||
public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivityMyRoomBinding> implements MyRoomListContacts.View {
|
||||
@@ -185,6 +190,15 @@ public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivit
|
||||
mBinding.topBar.setRightIcon(com.xscm.moduleutil.R.mipmap.trend_icon);
|
||||
mBinding.topBar.setImgPaddingRight(35);
|
||||
mBinding.topBar.setRightImgVIsible(true);
|
||||
mBinding.riv.setOnClickListener(v -> {
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(getApplicationContext(), CommonAppContext.getInstance().playId, "");
|
||||
});
|
||||
mBinding.ivGuanbi.setOnClickListener(v -> {
|
||||
mBinding.ll.setVisibility(View.INVISIBLE);
|
||||
CommonAppContext.getInstance().isShow = false;
|
||||
CommonAppContext.getInstance().isPlaying = false;
|
||||
EventBus.getDefault().post(new RoomOutEvent());
|
||||
});
|
||||
initListener();
|
||||
}
|
||||
|
||||
@@ -199,9 +213,11 @@ public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivit
|
||||
} else {
|
||||
mBinding.ll.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
if (CommonAppContext.getInstance().isPlaying && CommonAppContext.getInstance().isShow) {
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("form", "首页").withString("roomId", CommonAppContext.getInstance().playId).navigation();
|
||||
}
|
||||
// if (CommonAppContext.getInstance().isPlaying && CommonAppContext.getInstance().isShow) {
|
||||
// RoomManager.getInstance().fetchRoomDataAndEnter(getApplicationContext(), CommonAppContext.getInstance().playId,"");
|
||||
//
|
||||
//// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("form", "首页").withString("roomId", CommonAppContext.getInstance().playId).navigation();
|
||||
// }
|
||||
}
|
||||
|
||||
private final Runnable mRivAnimationTask = () -> {
|
||||
@@ -221,13 +237,13 @@ public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivit
|
||||
// }
|
||||
// startActivity(new Intent(MyRoomActivity.this,CreatedRoomActivity.class));
|
||||
// }
|
||||
if (!SpUtil.getRealName()){
|
||||
if (!SpUtil.getRealName()) {
|
||||
ToastUtils.show("实名认证后才能创建直播间");
|
||||
ARouter.getInstance().build(ARouteConstants.REAL_NAME_ACTIVITY2).navigation();
|
||||
// startActivity(new Intent(MyRoomActivity.this, RealName1Activity.class));
|
||||
return;
|
||||
}
|
||||
startActivity(new Intent(MyRoomActivity.this,CreatedRoomActivity.class));
|
||||
startActivity(new Intent(MyRoomActivity.this, CreatedRoomActivity.class));
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2,11 +2,13 @@ package com.example.modulevocal.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.conacts.PersonalityConacts;
|
||||
@@ -15,10 +17,13 @@ import com.example.modulevocal.fragment.zhuangb.ZhuangBanShangChengFragment;
|
||||
import com.example.modulevocal.presenter.PersonalityPresenter;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.activity.WebViewActivity;
|
||||
import com.xscm.moduleutil.adapter.GiftTwoDetailsFragment;
|
||||
import com.xscm.moduleutil.adapter.MyPagerAdapter;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.PersonaltyBean;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
import com.xscm.moduleutil.widget.dialog.RewardGiftDialogFragment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -36,10 +41,7 @@ public class PersonalityActivity extends BaseMvpActivity<PersonalityPresenter, A
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
if (MvpPre==null){
|
||||
MvpPre=bindPresenter();
|
||||
}
|
||||
MvpPre.getPersonaltyList();
|
||||
|
||||
|
||||
|
||||
// titleList.add("头像框");
|
||||
@@ -104,6 +106,15 @@ public class PersonalityActivity extends BaseMvpActivity<PersonalityPresenter, A
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
if (MvpPre==null){
|
||||
MvpPre=bindPresenter();
|
||||
}
|
||||
MvpPre.getPersonaltyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PersonalityPresenter bindPresenter() {
|
||||
return new PersonalityPresenter(this, this);
|
||||
@@ -116,7 +127,7 @@ public class PersonalityActivity extends BaseMvpActivity<PersonalityPresenter, A
|
||||
mBinding.topBar.setRightColor(ColorManager.getInstance().getPrimaryColorInt());
|
||||
mBinding.topBar.getTvRight().setOnClickListener(v -> {
|
||||
Intent intent=new Intent(this, WebViewActivity.class);
|
||||
intent.putExtra("url", "https://vespa.qxmier.com/web/index.html#/pages/prop/propMall?id="+SpUtil.getToken());
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/prop/propMall?id="+SpUtil.getToken());
|
||||
intent.putExtra("title", "道具商城");
|
||||
startActivity(intent);
|
||||
});
|
||||
@@ -168,9 +179,49 @@ public class PersonalityActivity extends BaseMvpActivity<PersonalityPresenter, A
|
||||
|
||||
mBinding.slidingTabLayout.setViewPager(mBinding.viewPager);
|
||||
mBinding.slidingTabLayout.setCurrentTab(0);
|
||||
mBinding.viewPager.setOffscreenPageLimit(0);
|
||||
refreshCurrentGiftFragment(personaltyBean.get(0).getId(),0);
|
||||
mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
// 当页面切换时,控制 tv_bb_qs 按钮的显示
|
||||
refreshCurrentGiftFragment(personaltyBean.get(position).getId(),position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
private void refreshCurrentGiftFragment(String id,int position) {
|
||||
if (getCurrentGiftFragment()!=null){
|
||||
getCurrentGiftFragment().loadDataIfNeeded(Integer.parseInt(id), position);
|
||||
if (position==0){
|
||||
mBinding.ivUser.setVisibility(View.VISIBLE);
|
||||
}else {
|
||||
mBinding.ivUser.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
private ZhuangBanShangChengFragment getCurrentGiftFragment() {
|
||||
int currentPosition = mBinding.viewPager.getCurrentItem();
|
||||
// 使用 ViewPager 的 adapter 获取当前 fragment
|
||||
MyFragmentPagerAdapter adapter = (MyFragmentPagerAdapter) mBinding.viewPager.getAdapter();
|
||||
if (adapter != null) {
|
||||
// 直接从 adapter 获取 fragment
|
||||
Fragment fragment = adapter.getItem(currentPosition);
|
||||
if (fragment instanceof ZhuangBanShangChengFragment) {
|
||||
return (ZhuangBanShangChengFragment) fragment;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private static class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
|
||||
|
||||
private List<PersonaltyBean> list;
|
||||
|
||||
@@ -10,6 +10,8 @@ import com.example.modulevocal.presenter.PhoneReplacementPresenter;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.activity.BaseAppCompatActivity;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.bean.UserBean;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -133,6 +135,7 @@ public class PhoneReplacementActivity extends BaseMvpActivity<PhoneReplacementPr
|
||||
ToastUtils.show(s);
|
||||
} else {
|
||||
ToastUtils.show(s);
|
||||
|
||||
finish();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,15 +2,22 @@ package com.example.modulevocal.activity;
|
||||
|
||||
import static com.xscm.moduleutil.utils.permission.PermissionUtils.TAG;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.example.modulevocal.R;
|
||||
import com.xscm.moduleutil.adapter.PayMethodAdapter;
|
||||
import com.xscm.moduleutil.adapter.BalanceRechargeAdapter;
|
||||
@@ -24,9 +31,12 @@ import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.RechargeBean;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.event.PayEvent;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
import com.xscm.moduleutil.utils.SystemUtils;
|
||||
import com.xscm.moduleutil.widget.EqualSpaceItemDecoration;
|
||||
import com.xscm.moduleutil.widget.PaymentUtil;
|
||||
import com.tencent.liteav.base.Log;
|
||||
import com.tencent.mm.opensdk.constants.ConstantsAPI;
|
||||
@@ -34,8 +44,15 @@ import com.tencent.mm.opensdk.modelbase.BaseResp;
|
||||
import com.tencent.mm.opensdk.openapi.IWXAPI;
|
||||
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
* @author qx
|
||||
@@ -70,7 +87,7 @@ public class RechargeActivity extends BaseMvpActivity<RechargePresenter, Activit
|
||||
mBinding.recycleView1.setAdapter(bindTypeAdapter);
|
||||
|
||||
bindTypeAdapter.setOnItemClickListener((adapter, view, position) -> {
|
||||
// 更新选中项
|
||||
|
||||
bindTypeAdapter.setSelectedPosition(position);
|
||||
|
||||
// 获取当前选中的数据
|
||||
@@ -81,11 +98,18 @@ public class RechargeActivity extends BaseMvpActivity<RechargePresenter, Activit
|
||||
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvPayment, ColorManager.getInstance().getPrimaryColorInt(), 53);
|
||||
mBinding.tvPayment.setTextColor(ColorManager.getInstance().getButtonColorInt());
|
||||
|
||||
ViewGroup.LayoutParams layoutParams = mBinding.recyclerView.getLayoutParams();
|
||||
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; // 使用你定义的getWidth方法
|
||||
layoutParams.height = SystemUtils.getWidth(372); // 示例高度
|
||||
mBinding.recyclerView.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
private void onClick(View view) {
|
||||
if (view.getId() == R.id.tv_payment) {
|
||||
if (money.equals("0")) {
|
||||
|
||||
LogUtils.d(TAG,"onClick,=--2------"+money);
|
||||
if (money.equals("0")||TextUtils.isEmpty(money)) {
|
||||
money=mBinding.etCustomAmount.getText().toString().trim();
|
||||
if (TextUtils.isEmpty(money)) {
|
||||
ToastUtils.showShort("请选择充值金额");
|
||||
@@ -101,7 +125,10 @@ public class RechargeActivity extends BaseMvpActivity<RechargePresenter, Activit
|
||||
ToastUtils.showShort("请选择支付方式");
|
||||
return;
|
||||
}
|
||||
MvpPre.appPay(SpUtil.getUserId() + "", money, coin, selectedItem.getType());
|
||||
|
||||
|
||||
LogUtils.d(TAG,"onClick,=--3------"+money);
|
||||
MvpPre.appPay(SpUtil.getUserId() + "", money, coin, selectedItem.getType(),"","");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,18 +145,21 @@ public class RechargeActivity extends BaseMvpActivity<RechargePresenter, Activit
|
||||
@Override
|
||||
public void setRechargeData(List<RechargeBean> rechargeData) {
|
||||
// 在数据源最后添加一个自定义项
|
||||
RechargeBean customItem = new RechargeBean();
|
||||
customItem.setCoins("自定义");
|
||||
customItem.setMoney("");
|
||||
customItem.setItemViewType(1);
|
||||
rechargeData.add(customItem);
|
||||
// RechargeBean customItem = new RechargeBean();
|
||||
// customItem.setCoins("自定义");
|
||||
// customItem.setMoney("");
|
||||
// customItem.setItemViewType(1);
|
||||
// rechargeData.add(customItem);
|
||||
rechargeAdapter = new BalanceRechargeAdapter(rechargeData);
|
||||
rechargeAdapter.setNewData(rechargeData);
|
||||
|
||||
rechargeAdapter.setListener(new BalanceRechargeAdapter.OnRechargeItemClickListener() {
|
||||
@Override
|
||||
public void onClick(RechargeBean rechargeBean) {
|
||||
|
||||
money = rechargeBean.getMoney();
|
||||
coin = rechargeBean.getCoins();
|
||||
|
||||
// mBinding.tvPayment.setText(String.format("立即支付(%s元)", money));
|
||||
}
|
||||
});
|
||||
@@ -137,10 +167,18 @@ public class RechargeActivity extends BaseMvpActivity<RechargePresenter, Activit
|
||||
@Override
|
||||
public void onInputBoxVisibilityChanged(boolean isVisible) {
|
||||
// 根据 isVisible 的值来显示或隐藏输入框
|
||||
mBinding.r4.setVisibility(isVisible ? View.VISIBLE : View.GONE);
|
||||
mBinding.r4.setVisibility(isVisible ? View.GONE : View.GONE);
|
||||
if (isVisible){
|
||||
money="0";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
// mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
||||
mBinding.recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
|
||||
// int spacing = getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_22); // 根据需要调整间距
|
||||
// mBinding.recyclerView.addItemDecoration(new EqualSpaceItemDecoration(3, spacing));
|
||||
mBinding.recyclerView.setAdapter(rechargeAdapter);
|
||||
}
|
||||
|
||||
@@ -158,6 +196,12 @@ public class RechargeActivity extends BaseMvpActivity<RechargePresenter, Activit
|
||||
mBinding.tvJb.setText(walletBean.getCoin());
|
||||
}
|
||||
|
||||
// 订阅方法:处理 MessageEvent 事件
|
||||
// threadMode 指定处理事件的线程(如主线程、后台线程)
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onMessageEvent(PayEvent event) {
|
||||
money="0";
|
||||
}
|
||||
@Override
|
||||
public void appPay(AppPay appPay) {
|
||||
if (appPay.getAli()!=null) {
|
||||
@@ -166,10 +210,57 @@ public class RechargeActivity extends BaseMvpActivity<RechargePresenter, Activit
|
||||
|
||||
IWXAPI wxapi = WXAPIFactory.createWXAPI(this, CommonAppContext.getInstance().getCurrentEnvironment().getWxAppId());
|
||||
PaymentUtil.payWxMiniProgram2(wxapi,appPay);
|
||||
|
||||
}else if (appPay.getTl()!=null){
|
||||
if (appPay.getTl().getRemark().equals("5")) {//微信
|
||||
IWXAPI wxapi = WXAPIFactory.createWXAPI(this, CommonAppContext.getInstance().getCurrentEnvironment().getWxAppId());
|
||||
try {
|
||||
String paramString = buildParamString(appPay.getTl());
|
||||
PaymentUtil.payWxMiniProgramWx(wxapi,paramString);
|
||||
android.util.Log.d("RequestParams", paramString); // 输出拼接后的参数
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else if (appPay.getTl().getRemark().equals("4")) {//支付宝
|
||||
String s= JSON.toJSONString(appPay.getTl());
|
||||
try {
|
||||
String query = URLEncoder.encode("payinfo=" + URLEncoder.encode(s, "UTF-8"), "UTF-8");
|
||||
String url = "alipays://platformapi/startapp?appId=2021001104615521&page=pages/orderDetail/orderDetail&thirdPartSchema="
|
||||
+ URLEncoder.encode("myziroom://myziroom/", "UTF-8") + "&query=" + query;
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
|
||||
startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public static String buildParamString(Object obj) throws IllegalAccessException {
|
||||
Class<?> clazz = obj.getClass();
|
||||
Field[] fields = clazz.getDeclaredFields();
|
||||
TreeMap<String, String> paramMap = new TreeMap<>();
|
||||
|
||||
// 遍历字段并填充 TreeMap
|
||||
for (Field field : fields) {
|
||||
field.setAccessible(true); // 允许访问私有字段
|
||||
Object value = field.get(obj);
|
||||
if (value != null && !String.valueOf(value).isEmpty()) {
|
||||
paramMap.put(field.getName(), String.valueOf(value));
|
||||
}
|
||||
}
|
||||
|
||||
// 使用 StringBuilder 拼接参数字符串
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (Map.Entry<String, String> entry : paramMap.entrySet()) {
|
||||
if (builder.length() > 0) {
|
||||
builder.append("&");
|
||||
}
|
||||
builder.append(entry.getKey())
|
||||
.append("=")
|
||||
.append(entry.getValue());
|
||||
}
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
public void onResp(BaseResp resp){
|
||||
if(resp.getType()== ConstantsAPI.COMMAND_PAY_BY_WX){
|
||||
Log.d(TAG,"onPayFinish,errCode="+resp.errCode);
|
||||
|
||||
@@ -7,6 +7,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.conacts.RevenueConacts;
|
||||
@@ -45,9 +46,42 @@ public class RevenueActivity extends BaseMvpActivity<RevenuePresenter, ActivityR
|
||||
}
|
||||
|
||||
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), list,type));
|
||||
mBinding.viewPager.setOffscreenPageLimit(0);
|
||||
mBinding.slidingTabLayout.setViewPager(mBinding.viewPager);
|
||||
mBinding.slidingTabLayout.setCurrentTab(0);
|
||||
mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
// 当页面切换时,控制 tv_bb_qs 按钮的显示
|
||||
// 页面选中时,获取对应位置的 Fragment 并刷新数据
|
||||
// 当页面切换时,控制 tv_bb_qs 按钮的显示
|
||||
// 页面选中时,获取对应位置的 Fragment 并刷新数据
|
||||
Fragment fragment = ((MyFragmentPagerAdapter) mBinding.viewPager.getAdapter()).getRegisteredFragment(position);
|
||||
if (fragment instanceof RevenueFragment) {
|
||||
// 根据 position 获取对应的 MyBagBean
|
||||
MyBagBean model = list.get(position);
|
||||
String direction = model.getMyBagType(); // 直接使用 MyBagBean 中的类型
|
||||
int types=0;
|
||||
if (model.getMyBagTitle().contains("钻石")){
|
||||
types=2;
|
||||
}else {
|
||||
types=1;
|
||||
}
|
||||
// 调用 Fragment 的刷新方法并传递参数
|
||||
((RevenueFragment) fragment).refreshData(types, direction);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
// mBinding.slidingTabLayout.setOnTabSelectListener(new ViewPager.OnPageChangeListener() {
|
||||
// @Override
|
||||
// public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
|
||||
|
||||
@@ -58,12 +58,12 @@ public class RoomDetailsActivity extends BaseMvpActivity<RoomDetailsPresenter, A
|
||||
DoubleTimePickerBottomSheet dialog = new DoubleTimePickerBottomSheet();
|
||||
dialog.setOnTimeRangeSelectedListener((startDate, endDate) -> {
|
||||
// 处理选择的时间范围
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:mm", Locale.getDefault());
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
|
||||
Log.d("SelectedTime", "开始时间:" + sdf.format(startDate));
|
||||
// mBinding.tv2.setText(sdf.format(startDate));
|
||||
mBinding.tv2.setText(sdf.format(startDate));
|
||||
Log.d("SelectedTime", "结束时间:" + sdf.format(endDate));
|
||||
// mBinding.tv22.setText(sdf.format(endDate));
|
||||
|
||||
mBinding.tv22.setText(sdf.format(endDate));
|
||||
currentPage=1;
|
||||
stime = sdf.format(startDate);
|
||||
etime = sdf.format(endDate);
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ import com.example.modulevocal.presenter.SettingPresenter;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.activity.WebViewActivity;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.FirstChargeGiftBean;
|
||||
import com.xscm.moduleutil.dialog.FirstChargeDialog;
|
||||
import com.xscm.moduleutil.dialog.RealNameDialog;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -78,11 +80,22 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
|
||||
} else {
|
||||
RealNameDialog realNameDialog = new RealNameDialog(this);
|
||||
realNameDialog.show();
|
||||
realNameDialog.setOnDismissListener(dialog -> {
|
||||
dialog.dismiss();
|
||||
ARouter.getInstance().build(ARouteConstants.REAL_NAME_ACTIVITY2).navigation();
|
||||
// startActivity(new Intent(SettingActivity.this, RealName1Activity.class));
|
||||
realNameDialog.setOnFirstChargeListener(new RealNameDialog.OnFirstChargeListener() {
|
||||
@Override
|
||||
public void onFirstChargeConfirmed(String giftBean, int type) {
|
||||
realNameDialog.dismiss();
|
||||
ARouter.getInstance().build(ARouteConstants.REAL_NAME_ACTIVITY2).navigation();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFirstChargeCancelled() {
|
||||
realNameDialog.dismiss();
|
||||
}
|
||||
});
|
||||
// realNameDialog.setOnDismissListener(dialog -> {
|
||||
// dialog.dismiss();
|
||||
// ARouter.getInstance().build(ARouteConstants.REAL_NAME_ACTIVITY2).navigation();
|
||||
// });
|
||||
}
|
||||
} else if (view.getId() == R.id.ll_qhch) {
|
||||
new AlertDialog.Builder(this).setMessage("确认清理缓存?").setPositiveButton("确定", new DialogInterface.OnClickListener() {
|
||||
@@ -115,8 +128,15 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
|
||||
if (MvpPre == null){
|
||||
MvpPre = bindPresenter();
|
||||
}
|
||||
|
||||
MvpPre.clearLoginInfo();
|
||||
|
||||
try {
|
||||
CommonAppContext.getInstance().clearLoginInfo();
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
.setNegativeButton("取消", null).create().show();
|
||||
|
||||
@@ -1,26 +1,209 @@
|
||||
package com.example.modulevocal.activity;
|
||||
|
||||
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Autowired;
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.databinding.ActivityUnderageBinding;
|
||||
import com.example.modulevocal.presenter.UnderagePresenter;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.activity.WebViewActivity;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
import com.xscm.moduleutil.widget.SplitEditText;
|
||||
|
||||
/**
|
||||
* @author qx
|
||||
* @data 2025/9/19
|
||||
* @description: 未成年模式设置
|
||||
*/
|
||||
@Route(path = ARouteConstants.UNDERAGE_ACTIVITY)
|
||||
public class UnderageActivity extends BaseMvpActivity<UnderagePresenter, ActivityUnderageBinding> {
|
||||
|
||||
private static final String PREF_UNDERAGE_PASSWORD = "underagePassword";
|
||||
private String firstPassword = ""; // 用于存储首次输入的密码
|
||||
private boolean isConfirming = false; // 标识是否处于确认密码阶段
|
||||
@Autowired
|
||||
public int type ; // 0-设置密码模式,1-验证密码模式
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
mBinding.topBar.setTitle("未成年人模式");
|
||||
mBinding.text.setTextColor(ColorManager.getInstance().getPrimaryColorInt());
|
||||
|
||||
if (type == 1) {
|
||||
// 验证密码模式
|
||||
mBinding.meMim.setText("请输入监护密码");
|
||||
mBinding.text.setVisibility(View.GONE);
|
||||
} else {
|
||||
// 设置密码模式
|
||||
mBinding.meMim.setText("请输入监护密码");
|
||||
mBinding.text.setVisibility(android.view.View.GONE);
|
||||
}
|
||||
|
||||
mBinding.verificationcodeview.setOnInputListener(new SplitEditText.OnInputListener() {
|
||||
@Override
|
||||
public void onInputFinished(String content) {
|
||||
// 当输入完成4位数字时自动处理
|
||||
handlePasswordInput(content);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInputChanged(String text) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理密码输入完成后的逻辑
|
||||
*
|
||||
* @param password 输入的密码
|
||||
*/
|
||||
private void handlePasswordInput(String password) {
|
||||
|
||||
if (type == 1) {
|
||||
// 验证密码模式
|
||||
verifyPassword(password);
|
||||
} else {
|
||||
// 设置密码模式
|
||||
setupPassword(password);
|
||||
}
|
||||
|
||||
// if (!isConfirming) {
|
||||
// // 第一次输入密码,保存并清空输入框
|
||||
// firstPassword = password;
|
||||
// isConfirming = true;
|
||||
//
|
||||
// // 清空输入框
|
||||
// mBinding.verificationcodeview.setText("");
|
||||
//
|
||||
// // 更改提示文字
|
||||
// mBinding.meMim.setText("请再次输入监护密码");
|
||||
// } else {
|
||||
// // 第二次输入密码,进行对比
|
||||
// if (firstPassword.equals(password)) {
|
||||
// // 密码一致,保存到本地并跳转页面
|
||||
// savePassword(password);
|
||||
// navigateToNextPage();
|
||||
// } else {
|
||||
// // 密码不一致,提示并重新设置
|
||||
// ToastUtils.showShort("两次输入的密码不一致,请重新设置");
|
||||
// resetPasswordInput();
|
||||
// }
|
||||
// }
|
||||
}
|
||||
/**
|
||||
* 验证密码(type=1时使用)
|
||||
* @param inputPassword 用户输入的密码
|
||||
*/
|
||||
private void verifyPassword(String inputPassword) {
|
||||
// 从本地获取已保存的密码
|
||||
String savedPassword = SpUtil.getUnderagePassword();
|
||||
|
||||
if (savedPassword.isEmpty()) {
|
||||
// 尚未设置密码
|
||||
ToastUtils.showShort("尚未设置监护密码");
|
||||
mBinding.verificationcodeview.setText(""); // 清空输入框
|
||||
return;
|
||||
}
|
||||
|
||||
if (savedPassword.equals(inputPassword)) {
|
||||
// 密码正确,关闭页面
|
||||
// ToastUtils.showShort("密码验证成功");
|
||||
|
||||
ARouter.getInstance().build(ARouteConstants.ME).navigation();
|
||||
finishAll();
|
||||
} else {
|
||||
// 密码错误,提示并清空输入框
|
||||
ToastUtils.showShort("密码错误,请重新输入");
|
||||
mBinding.verificationcodeview.setText(""); // 清空输入框
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置密码(type=0时使用)
|
||||
* @param password 输入的密码
|
||||
*/
|
||||
private void setupPassword(String password) {
|
||||
if (!isConfirming) {
|
||||
// 第一次输入密码,保存并清空输入框
|
||||
firstPassword = password;
|
||||
isConfirming = true;
|
||||
|
||||
// 清空输入框
|
||||
mBinding.verificationcodeview.setText("");
|
||||
|
||||
// 更改提示文字
|
||||
mBinding.meMim.setText("请再次输入监护密码");
|
||||
} else {
|
||||
// 第二次输入密码,进行对比
|
||||
if (firstPassword.equals(password)) {
|
||||
// 密码一致,保存到本地并跳转页面
|
||||
savePassword(password);
|
||||
navigateToNextPage();
|
||||
} else {
|
||||
// 密码不一致,提示并重新设置
|
||||
ToastUtils.showShort("两次输入的密码不一致,请重新设置");
|
||||
resetPasswordInput();
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 保存密码到本地
|
||||
*
|
||||
* @param password 要保存的密码
|
||||
*/
|
||||
private void savePassword(String password) {
|
||||
SpUtil.setUnderagePassword(password);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置密码输入状态
|
||||
*/
|
||||
private void resetPasswordInput() {
|
||||
firstPassword = "";
|
||||
isConfirming = false;
|
||||
|
||||
// 清空输入框
|
||||
mBinding.verificationcodeview.setText("");
|
||||
|
||||
// 恢复提示文字
|
||||
mBinding.meMim.setText("请输入监护密码");
|
||||
}
|
||||
|
||||
/**
|
||||
* 跳转到下一个页面
|
||||
*/
|
||||
private void navigateToNextPage() {
|
||||
// ToastUtils.showShort("密码设置成功");
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url() + "/web/index.html#/pages/feedback/teenage?id=" + SpUtil.getToken())
|
||||
// .withString("type", "1").navigation();
|
||||
Intent intent = new Intent(UnderageActivity.this, WebViewActivity.class);
|
||||
intent.putExtra("type", "1");
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url() + "/web/index.html#/pages/feedback/teenage?id=" + SpUtil.getToken());
|
||||
startActivity(intent);
|
||||
|
||||
|
||||
mBinding.verificationcodeview.setText("");
|
||||
finish();
|
||||
// 这里可以添加页面跳转逻辑
|
||||
finishAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
package com.example.modulevocal.activity;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Autowired;
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.example.moduletablayout.listener.CustomTabEntity;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.conacts.UserHomepageConacts;
|
||||
@@ -16,6 +20,7 @@ import com.example.modulevocal.fragment.UserHomepageFragment;
|
||||
import com.example.modulevocal.presenter.UserHomepagePresenter;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.adapter.MyFragmentPagerAdapter;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.CircleListBean;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.XBannerData;
|
||||
@@ -67,6 +72,30 @@ public class UserHomepageActivity extends BaseMvpActivity<UserHomepagePresenter,
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (getOnBackPressedDispatcher() != null) {
|
||||
getOnBackPressedDispatcher().addCallback(this, new androidx.activity.OnBackPressedCallback(true) {
|
||||
@Override
|
||||
public void handleOnBackPressed() {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
@@ -121,4 +150,25 @@ public class UserHomepageActivity extends BaseMvpActivity<UserHomepagePresenter,
|
||||
public void setLikeZone() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
// 清理 ViewPager
|
||||
if (mBinding.viewPager.getAdapter() != null) {
|
||||
mBinding.viewPager.setAdapter(null);
|
||||
}
|
||||
|
||||
// 清理 XBanner 资源
|
||||
if (mBinding.xbanner != null) {
|
||||
mBinding.xbanner.stopAutoPlay();
|
||||
}
|
||||
|
||||
// 通知 Presenter 页面销毁
|
||||
if (MvpPre != null) {
|
||||
MvpPre= null;
|
||||
}
|
||||
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.example.modulevocal.R;
|
||||
import com.xscm.moduleutil.activity.WebViewActivity;
|
||||
import com.xscm.moduleutil.adapter.PayMethodAdapter;
|
||||
import com.example.modulevocal.conacts.WithdrawalConacts;
|
||||
import com.example.modulevocal.databinding.ActivityWithdrawalBinding;
|
||||
@@ -26,6 +27,7 @@ import com.example.modulevocal.presenter.WithdrawalPresenter;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.bean.BindDetail;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.bean.WalletConfig;
|
||||
@@ -89,6 +91,10 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
|
||||
ToastUtils.show("请选择提现方式");
|
||||
return;
|
||||
}
|
||||
if (mBinding.etCustomAmount.getText().toString().equals("0") || mBinding.etCustomAmount.getText().toString().equals("") || mBinding.etCustomAmount.getText().toString().isEmpty()) {
|
||||
ToastUtils.show("提现金额不能为0");
|
||||
return;
|
||||
}
|
||||
showSecondaryVerificationDialog();
|
||||
});
|
||||
|
||||
@@ -98,38 +104,42 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
|
||||
});
|
||||
|
||||
mBinding.tvLhjy.setOnClickListener(v -> {
|
||||
ARouter.getInstance().build(ARouteConstants.H5).withString("url",walletBean.getUrl()).withString("title", walletBean.getTitle()).navigation();
|
||||
Intent intent = new Intent(this, WebViewActivity.class);
|
||||
intent.putExtra("url", walletBean.getUrl());
|
||||
intent.putExtra("title", walletBean.getTitle());
|
||||
startActivity(intent);
|
||||
// ARouter.getInstance().build(ARouteConstants.H5).withString("url",walletBean.getUrl()).withString("title", walletBean.getTitle()).navigation();
|
||||
|
||||
});
|
||||
|
||||
TextInputEditText etCustomAmount = mBinding.etCustomAmount;
|
||||
|
||||
// 限制只能输入数字和小数点后一位
|
||||
etCustomAmount.setKeyListener(DigitsKeyListener.getInstance("0123456789."));
|
||||
etCustomAmount.setFilters(new InputFilter[]{(source, start, end, dest, dstart, dend) -> {
|
||||
// 防止输入负号
|
||||
if (source.toString().contains("-")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
String newText = dest.toString().substring(0, dstart) + source.toString() + dest.toString().substring(dend);
|
||||
|
||||
// 检查小数点
|
||||
if (newText.contains(".")) {
|
||||
String[] splitResult = newText.split("\\.");
|
||||
if (splitResult.length > 1 && splitResult[1].length() > 1) {
|
||||
// 小数点后只能有一位
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
// 可选:限制最大长度
|
||||
if (newText.length() > 10) {
|
||||
return "";
|
||||
}
|
||||
|
||||
return null;
|
||||
}});
|
||||
etCustomAmount.setKeyListener(DigitsKeyListener.getInstance("0123456789"));
|
||||
// etCustomAmount.setFilters(new InputFilter[]{(source, start, end, dest, dstart, dend) -> {
|
||||
// // 防止输入负号
|
||||
// if (source.toString().contains("-")) {
|
||||
// return "";
|
||||
// }
|
||||
//
|
||||
// String newText = dest.toString().substring(0, dstart) + source.toString() + dest.toString().substring(dend);
|
||||
//
|
||||
// // 检查小数点
|
||||
// if (newText.contains(".")) {
|
||||
// String[] splitResult = newText.split("\\.");
|
||||
// if (splitResult.length > 1 && splitResult[1].length() > 1) {
|
||||
// // 小数点后只能有一位
|
||||
// return "";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // 可选:限制最大长度
|
||||
// if (newText.length() > 10) {
|
||||
// return "";
|
||||
// }
|
||||
//
|
||||
// return null;
|
||||
// }});
|
||||
|
||||
// 可选:添加 TextWatcher 来监听输入内容变化
|
||||
etCustomAmount.addTextChangedListener(new TextWatcher() {
|
||||
@@ -159,23 +169,36 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
|
||||
}
|
||||
|
||||
private String truncateToFirstDecimalPlace(String value) {
|
||||
if (TextUtils.isEmpty(value)) return "0.0";
|
||||
if (TextUtils.isEmpty(value)) return "0";
|
||||
|
||||
// 直接返回整数值,忽略任何小数部分
|
||||
int dotIndex = value.indexOf('.');
|
||||
if (dotIndex == -1) {
|
||||
return value + ".0"; // 没有小数点,默认加 .0
|
||||
}
|
||||
|
||||
String integerPart = value.substring(0, dotIndex);
|
||||
String decimalPart = value.substring(dotIndex + 1);
|
||||
|
||||
if (decimalPart.length() >= 1) {
|
||||
return integerPart + "." + decimalPart.charAt(0); // 只取小数点后一位
|
||||
return value; // 没有小数点,直接返回原值
|
||||
} else {
|
||||
return integerPart + ".0"; // 小数点后为空,默认加 0
|
||||
// 有小数点,只取整数部分
|
||||
return value.substring(0, dotIndex);
|
||||
}
|
||||
}
|
||||
|
||||
// private String truncateToFirstDecimalPlace(String value) {
|
||||
// if (TextUtils.isEmpty(value)) return "0";
|
||||
//
|
||||
// int dotIndex = value.indexOf('.');
|
||||
// if (dotIndex == -1) {
|
||||
// return value + ".0"; // 没有小数点,默认加 .0
|
||||
// }
|
||||
//
|
||||
// String integerPart = value.substring(0, dotIndex);
|
||||
// String decimalPart = value.substring(dotIndex + 1);
|
||||
//
|
||||
// if (decimalPart.length() >= 1) {
|
||||
// return integerPart + "." + decimalPart.charAt(0); // 只取小数点后一位
|
||||
// } else {
|
||||
// return integerPart + ".0"; // 小数点后为空,默认加 0
|
||||
// }
|
||||
// }
|
||||
|
||||
private void showSecondaryVerificationDialog() {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
View dialogView = getLayoutInflater().inflate(R.layout.dialog_secondary_verification, null);
|
||||
@@ -238,13 +261,11 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
if (s.length() == 4) {
|
||||
String code = etVerificationCode.getText().toString().trim();
|
||||
if (!TextUtils.isEmpty(code)) {
|
||||
// 验证码验证逻辑
|
||||
MvpPre.withdrawal(mBinding.etCustomAmount.getText().toString(), selectedItem.getType(), code);
|
||||
dialog.dismiss();
|
||||
}
|
||||
String code = etVerificationCode.getText().toString().trim();
|
||||
if (!TextUtils.isEmpty(code) && code.length() >= 6) {
|
||||
// 验证码验证逻辑
|
||||
MvpPre.withdrawal(mBinding.etCustomAmount.getText().toString(), selectedItem.getType(), code);
|
||||
dialog.dismiss();
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -335,4 +356,14 @@ public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, Act
|
||||
public void withdrawalList(List<WithdrawalBean> list) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindDetai(BindDetail bindDetail) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finishRefreshLoadMore() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.example.modulevocal.activity;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.example.modulevocal.R;
|
||||
@@ -9,7 +12,11 @@ import com.example.modulevocal.adapter.WithdrawalAdapter;
|
||||
import com.example.modulevocal.conacts.WithdrawalConacts;
|
||||
import com.example.modulevocal.databinding.ActivityWithdrawalListBinding;
|
||||
import com.example.modulevocal.presenter.WithdrawalPresenter;
|
||||
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
|
||||
import com.xscm.moduleutil.activity.BaseMvpActivity;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.BindDetail;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.bean.WalletConfig;
|
||||
@@ -17,30 +24,42 @@ import com.xscm.moduleutil.bean.WithdrawalBean;
|
||||
import com.xscm.moduleutil.widget.DoubleTimePickerBottomSheet;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
*@author qx
|
||||
*@data 2025/7/12
|
||||
*@description: 提现记录
|
||||
* @author qx
|
||||
* @data 2025/7/12
|
||||
* @description: 提现记录
|
||||
*/
|
||||
public class WithdrawalListActivity extends BaseMvpActivity<WithdrawalPresenter, ActivityWithdrawalListBinding> implements WithdrawalConacts.View{
|
||||
public class WithdrawalListActivity extends
|
||||
BaseMvpActivity<WithdrawalPresenter, ActivityWithdrawalListBinding> implements WithdrawalConacts.View, OnRefreshLoadMoreListener {
|
||||
private int page = 1;
|
||||
private String page_limit = "10";
|
||||
private String search_stime;//开始时间
|
||||
private String search_etime;//结束时间
|
||||
|
||||
private WithdrawalAdapter adapter;
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
mBinding.topBar.setTitle("提现记录");
|
||||
MvpPre.withdrawalList("1","50","","");
|
||||
mBinding.rl3.setOnClickListener(v -> {
|
||||
DoubleTimePickerBottomSheet dialog = new DoubleTimePickerBottomSheet();
|
||||
dialog.setOnTimeRangeSelectedListener((startDate, endDate) -> {
|
||||
// 处理选择的时间范围
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:mm", Locale.getDefault());
|
||||
Log.d("SelectedTime", "开始时间:" + sdf.format(startDate));
|
||||
mBinding.tv2.setText(sdf.format(startDate));
|
||||
search_stime = sdf.format(startDate);
|
||||
mBinding.tv2.setText(search_stime);
|
||||
Log.d("SelectedTime", "结束时间:" + sdf.format(endDate));
|
||||
mBinding.tv22.setText(sdf.format(endDate));
|
||||
MvpPre.withdrawalList("1","50",mBinding.tv2.getText().toString(),mBinding.tv22.getText().toString());
|
||||
|
||||
search_etime = sdf.format(endDate);
|
||||
mBinding.tv22.setText(search_etime);
|
||||
page = 1;
|
||||
MvpPre.withdrawalList(page + "", page_limit, search_stime, search_etime);
|
||||
});
|
||||
dialog.show(getSupportFragmentManager(), "DoubleTimePicker");
|
||||
});
|
||||
@@ -48,8 +67,27 @@ public class WithdrawalListActivity extends BaseMvpActivity<WithdrawalPresenter,
|
||||
mBinding.revenueView.setLayoutManager(new LinearLayoutManager(this));
|
||||
adapter = new WithdrawalAdapter();
|
||||
mBinding.revenueView.setAdapter(adapter);
|
||||
//下拉刷新的监听
|
||||
// mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(this);
|
||||
MvpPre.withdrawalList(page + "", page_limit, search_stime, search_etime);
|
||||
|
||||
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
|
||||
@Override
|
||||
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
|
||||
page++;
|
||||
MvpPre.withdrawalList(page + "", page_limit + "", search_stime, search_etime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
||||
// EventBus.getDefault().post(new BannerRefreshEvent());
|
||||
page = 1;
|
||||
MvpPre.withdrawalList(page + "", page_limit + "", search_stime, search_etime);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_withdrawal_list;
|
||||
@@ -57,7 +95,7 @@ public class WithdrawalListActivity extends BaseMvpActivity<WithdrawalPresenter,
|
||||
|
||||
@Override
|
||||
protected WithdrawalPresenter bindPresenter() {
|
||||
return new WithdrawalPresenter(this,this);
|
||||
return new WithdrawalPresenter(this, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -87,6 +125,69 @@ public class WithdrawalListActivity extends BaseMvpActivity<WithdrawalPresenter,
|
||||
|
||||
@Override
|
||||
public void withdrawalList(List<WithdrawalBean> list) {
|
||||
adapter.setNewData(list);
|
||||
// 1. 统一处理刷新/加载更多的结束状态(三元运算符简化)
|
||||
// mBinding.smartRefreshLayout.finishRefresh(isUpRefresh);
|
||||
// mBinding.smartRefreshLayout.finishLoadMore(!isUpRefresh);
|
||||
|
||||
// 2. 处理数据为空的情况(避免addData/setNewData传入null)
|
||||
List<WithdrawalBean> newList = list == null ? Collections.emptyList() : list;
|
||||
|
||||
// 3. 数据更新(区分第一页和加载更多,避免冗余notify)
|
||||
if (page == 1) {
|
||||
adapter.setNewData(newList);
|
||||
// 首次加载空数据时,可显示空视图(根据需求添加)
|
||||
if (newList.isEmpty()) {
|
||||
// 4. 最后再设置空视图
|
||||
View emptyView = LayoutInflater.from(this).inflate(R.layout.layout_empty_no, mBinding.revenueView, false);
|
||||
|
||||
adapter.setEmptyView(emptyView); // 自定义空视图
|
||||
}// 通常setNewData内部会自动notify
|
||||
} else {
|
||||
adapter.addData(newList); // 多数适配器(如BaseQuickAdapter)的addData会自动notify
|
||||
}
|
||||
// 5. 完善"是否有更多数据"逻辑:
|
||||
// - 假设每页最多加载10条,若当前返回数据<=10,说明已无更多
|
||||
// - 修复原代码"list可能为null"的空指针风险(改用newList)
|
||||
// boolean hasMore = newList.size() > 10;
|
||||
// mBinding.smartRefreshLayout.setNoMoreData(!hasMore);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finishRefreshLoadMore() {
|
||||
mBinding.smartRefreshLayout.finishRefresh();
|
||||
mBinding.smartRefreshLayout.finishLoadMore();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindDetai(BindDetail bindDetail) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载更多数据
|
||||
*
|
||||
* @param refreshLayout
|
||||
*/
|
||||
@Override
|
||||
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
|
||||
isUpRefresh = false;
|
||||
page++;
|
||||
MvpPre.withdrawalList(page + "", page_limit + "", search_stime, search_etime);
|
||||
}
|
||||
|
||||
private boolean isUpRefresh = false;
|
||||
|
||||
/**
|
||||
* 刷新数据
|
||||
*
|
||||
* @param refreshLayout
|
||||
*/
|
||||
@Override
|
||||
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
||||
isUpRefresh = true;
|
||||
page = 1;
|
||||
MvpPre.withdrawalList(page + "", page_limit + "", search_stime, search_etime);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -100,8 +100,8 @@ public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder
|
||||
if (url.contains("http")) {
|
||||
ImageView imageView1 = new ImageView(getContext());
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_37),
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_15)
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_74),
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_17)
|
||||
);
|
||||
params.setMargins(0, 0, getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_5), 0); // 右边距
|
||||
imageView1.setLayoutParams(params);
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.example.modulevocal.R;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.xscm.moduleutil.RoomAutionTimeBean;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.base.RoomManager;
|
||||
import com.xscm.moduleutil.bean.MyCpRoom;
|
||||
import com.xscm.moduleutil.bean.MyFootResp;
|
||||
import com.xscm.moduleutil.bean.MyRoomBean;
|
||||
@@ -322,8 +323,10 @@ public class MyCreateAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||
queren(itemView.getContext());
|
||||
return;
|
||||
}
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(itemView.getContext(), item.getRoom_id() +"","");
|
||||
|
||||
// TODO: 跳转到房间
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
}
|
||||
});
|
||||
tv_room_bt.setOnClickListener(new View.OnClickListener() {
|
||||
@@ -334,7 +337,9 @@ public class MyCreateAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||
queren(itemView.getContext());
|
||||
return;
|
||||
}
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_ALLOWANCE).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(itemView.getContext(), item.getRoom_id() +"","");
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_ALLOWANCE).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -401,16 +406,19 @@ public class MyCreateAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// TODO: 跳转到房间详情页面
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(itemView.getContext(), item.getRoom_id() +"","");
|
||||
|
||||
// startActivity(new Intent(getContext(), RoomDetailsActivity.class));
|
||||
ARouter.getInstance().build(ARouteConstants.MY_ROOM_DETAILS).withString("roomId", item.getRoom_id() + "").navigation();
|
||||
// ARouter.getInstance().build(ARouteConstants.MY_ROOM_DETAILS).withString("roomId", item.getRoom_id() + "").navigation();
|
||||
}
|
||||
});
|
||||
cl_my_room_list.setOnClickListener(new View.OnClickListener() {//跳转房间
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(itemView.getContext(), item.getRoom_id() +"","");
|
||||
|
||||
// TODO: 跳转到房间
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -468,11 +476,13 @@ public class MyCreateAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||
tv_name.setText(item.getRoom_name());
|
||||
tv_num.setText(item.getHot_value());
|
||||
|
||||
ImageUtils.loadRes(com.xscm.moduleutil.R.drawable.voice_play, iv_play);
|
||||
// ImageUtils.loadRes(com.xscm.moduleutil.R.drawable.voice_play, iv_play);
|
||||
rl_root.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(itemView.getContext(), item.getRoom_id() +"","");
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.example.modulevocal.adapter;
|
||||
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.example.modulevocal.R;
|
||||
@@ -18,7 +20,8 @@ public class RevenueAdapter extends BaseQuickAdapter<RevenueBean, BaseViewHolder
|
||||
helper.setText(R.id.tv_time, time);
|
||||
helper.setText(R.id.tv_name, item.getRemarks());
|
||||
helper.setText(R.id.tv_jb, item.getChange_value());
|
||||
|
||||
TextView textView=helper.getView(R.id.tv_name);
|
||||
textView.setSelected(true);
|
||||
if (item.getType()==2){
|
||||
helper.getView(R.id.im_ty).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_t);
|
||||
}else if (item.getType()==1){
|
||||
|
||||
@@ -80,7 +80,7 @@ public class TaskBoxAdapter extends BaseQuickAdapter<GiftBoxBean.GiftBean, BaseV
|
||||
unlockView.setClickable(false);
|
||||
unlockView.setEnabled(false);
|
||||
// 可选:改变颜色或透明度来视觉反馈
|
||||
unlockView.setAlpha(0.5f); // 半透明表示不可点击
|
||||
unlockView.setAlpha(0.9f); // 半透明表示不可点击
|
||||
}else if (item.getStatus().equals("1")){
|
||||
unlockView.setClickable(true);
|
||||
unlockView.setEnabled(true);
|
||||
@@ -95,7 +95,7 @@ public class TaskBoxAdapter extends BaseQuickAdapter<GiftBoxBean.GiftBean, BaseV
|
||||
unlockView.setClickable(false);
|
||||
unlockView.setEnabled(false);
|
||||
// 可选:改变颜色或透明度来视觉反馈
|
||||
unlockView.setAlpha(0.5f); // 半透明表示不可点击
|
||||
unlockView.setAlpha(0.8f); // 半透明表示不可点击
|
||||
}
|
||||
|
||||
helper.getView(R.id.iv_unlock).setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@@ -44,7 +44,17 @@ public class TaskDataAdapter extends BaseQuickAdapter<GiftBoxBean.TaskDataBean.D
|
||||
// textView.setBackground(mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.ylq));
|
||||
// }
|
||||
|
||||
textView.setText(item.getTask_type_str().equals("去完成")?"未完成": (item.getTask_type_str().equals("领取金币")?"待领取":item.getTask_type_str()));
|
||||
// textView.setText(item.getTask_type_str().equals("去完成")?"未完成": (item.getTask_type_str().equals("领取金币")?"待领取":item.getTask_type_str()));
|
||||
if (item.getTask_type_str().equals("去完成")){
|
||||
textView.setText("未完成");
|
||||
}else if (item.getTask_type_str().equals("领取金币")){
|
||||
textView.setText("");
|
||||
textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_lq);
|
||||
}else {
|
||||
textView.setText("");
|
||||
textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_ylq);
|
||||
}
|
||||
|
||||
ImageUtils.loadHeadCC(item.getIcon(), helper.getView(R.id.task_pic));
|
||||
helper.setText(R.id.task_name, item.getTask_name())
|
||||
.setText(R.id.task_jb_number, "+"+item.getGold_reward());
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.example.modulevocal.adapter;
|
||||
import android.graphics.Color;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
@@ -14,6 +15,9 @@ import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class UserGiftWallAdapter extends BaseQuickAdapter<CombinedGiftBean, BaseViewHolder> {
|
||||
|
||||
|
||||
@@ -28,20 +32,41 @@ public class UserGiftWallAdapter extends BaseQuickAdapter<CombinedGiftBean, Base
|
||||
ImageLoader.loadImage(mContext, helper.getView(R.id.iv_gift_pic), item.getBase_image());
|
||||
TextView tv_number = helper.getView(R.id.tv_number);
|
||||
if (item.is_liang()) {
|
||||
helper.getView(R.id.cl_iv_down_on).setBackgroundColor(Color.parseColor("#E6E6E6"));
|
||||
// helper.getView(R.id.cl_iv_down_on).setBackgroundColor(Color.parseColor("#E6E6E6"));
|
||||
float[] corners = {0f, 4f, 0f, 4f};
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground(tv_number, ColorManager.getInstance().getPrimaryColorInt(), corners);
|
||||
tv_number.setTextColor(ColorManager.getInstance().getButtonColorInt());
|
||||
// 点亮的礼物显示高亮和送礼物的用户
|
||||
helper.setText(R.id.tv_number, "x" + item.getTop_users_count());
|
||||
helper.setText(R.id.tv_number, "x" + item.getTotal_count());
|
||||
helper.setVisible(R.id.tv_number, true);
|
||||
// helper.setVisible(R.id.riv_user_head, true);
|
||||
helper.setVisible(R.id.iv_gift_pic_overlay, false);
|
||||
|
||||
// 显示送礼物的用户列表
|
||||
RecyclerView recyclerView = helper.getView(R.id.rv_gift_user_list);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
|
||||
TopUsersAdapter topUsersAdapter = new TopUsersAdapter(item.getTop_users());
|
||||
recyclerView.setAdapter(topUsersAdapter);
|
||||
// recyclerView.setLayoutManager(new GridLayoutManager(mContext,2,LinearLayoutManager.HORIZONTAL,false));
|
||||
// recyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
|
||||
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false) {
|
||||
@Override
|
||||
public boolean canScrollHorizontally() {
|
||||
return false; // 禁止水平滑动
|
||||
}
|
||||
});
|
||||
|
||||
// TopUsersAdapter topUsersAdapter = new TopUsersAdapter(item.getTop_users());
|
||||
if (item.getTop_users() != null && item.getTop_users().size() > 0) {
|
||||
List<CombinedGiftBean.TopUsers> displayUsers = new ArrayList<>();
|
||||
if (item.getTop_users() != null) {
|
||||
int maxDisplay = Math.min(2, item.getTop_users().size()); // 最多显示2个
|
||||
for (int i = 0; i < maxDisplay; i++) {
|
||||
displayUsers.add(item.getTop_users().get(i));
|
||||
}
|
||||
}
|
||||
TopUsersAdapter topUsersAdapter = new TopUsersAdapter(displayUsers);
|
||||
recyclerView.setAdapter(topUsersAdapter);
|
||||
}
|
||||
|
||||
} else {
|
||||
// 未点亮的礼物只显示图片、名称和金额,不高亮
|
||||
helper.setVisible(R.id.tv_number, false);
|
||||
@@ -49,6 +74,7 @@ public class UserGiftWallAdapter extends BaseQuickAdapter<CombinedGiftBean, Base
|
||||
helper.setVisible(R.id.iv_gift_pic_overlay, true);
|
||||
// 隐藏送礼物的用户列表
|
||||
helper.setVisible(R.id.rv_gift_user_list, false);
|
||||
helper.getView(R.id.iv_gift_pic).setAlpha(0.2f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,14 +3,36 @@ package com.example.modulevocal.adapter;
|
||||
import static com.xscm.moduleutil.utils.UtilConfig.getContext;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.example.modulevocal.R;
|
||||
import com.xscm.moduleutil.bean.WithdrawalBean;
|
||||
|
||||
public class WithdrawalAdapter extends BaseQuickAdapter<WithdrawalBean, BaseViewHolder> {
|
||||
// 状态常量(替代魔法值,增强可读性)
|
||||
private static final int STATUS_PENDING = 1; // 待处理
|
||||
private static final int STATUS_APPROVED = 2; // 已通过
|
||||
private static final int STATUS_REJECTED = 3; // 已拒绝
|
||||
private static final int STATUS_PAYING = 4; // 打款中
|
||||
private static final int STATUS_PAY_FAILED = 5; // 打款失败
|
||||
private static final int STATUS_PAID = 6; // 已打款
|
||||
|
||||
// 固定文本常量(避免硬编码,便于统一修改)
|
||||
private static final String TEXT_AMOUNT = "提现金额";
|
||||
private static final String TEXT_FEE = "手续费";
|
||||
private static final String TEXT_TAX = "个人所得税";
|
||||
private static final String TEXT_EXPECTED_DEFAULT = "预计到账(个税扣除前)";
|
||||
private static final String TEXT_EXPECTED_REFUND = "退款金额";
|
||||
private static final String TEXT_EXPECTED_ACTUAL = "实际到账";
|
||||
private static final String TEXT_TAX_CALCULATING = "计算中...";
|
||||
|
||||
|
||||
public WithdrawalAdapter() {
|
||||
super(R.layout.item_withdrawal);
|
||||
}
|
||||
@@ -18,26 +40,127 @@ public class WithdrawalAdapter extends BaseQuickAdapter<WithdrawalBean, BaseView
|
||||
@SuppressLint("ResourceType")
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, WithdrawalBean item) {
|
||||
if (item != null ) {
|
||||
TextView tv_status = helper.getView(R.id.tv_status);
|
||||
helper.setText(R.id.tv_time, item.getCreatetime());
|
||||
helper.setText(R.id.tv_name, item.getName());
|
||||
helper.setText(R.id.tv_jb, item.getMoney());
|
||||
tv_status.setText(item.getStatus_str());
|
||||
if (item.getStatus().equals("1")){
|
||||
tv_status.setTextColor(getContext().getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
|
||||
}else if (item.getStatus().equals("2")){
|
||||
tv_status.setTextColor(getContext().getResources().getColor(com.xscm.moduleutil.R.color.color_FF999999));
|
||||
}else if (item.getStatus().equals("3")){
|
||||
tv_status.setTextColor(getContext().getResources().getColor(com.xscm.moduleutil.R.color.color_ff8acc));
|
||||
}else if (item.getStatus().equals("4")){
|
||||
tv_status.setTextColor(getContext().getResources().getColor(com.xscm.moduleutil.R.color.color_68A5FF));
|
||||
}else if (item.getStatus().equals("5")){
|
||||
tv_status.setTextColor(getContext().getResources().getColor(com.xscm.moduleutil.R.color.color_ff8acc));
|
||||
}else if (item.getStatus().equals("6")){
|
||||
tv_status.setTextColor(getContext().getResources().getColor(com.xscm.moduleutil.R.color.color_FF999999));
|
||||
}
|
||||
// 1. 基础文本设置(所有状态通用)
|
||||
helper.setText(R.id.tv_amount, TEXT_AMOUNT)
|
||||
.setText(R.id.tv_fee, TEXT_FEE)
|
||||
.setText(R.id.tv_tax, TEXT_TAX)
|
||||
.setText(R.id.tv_fee_value, item != null ? item.getWithdraw_fee() : "")
|
||||
.setText(R.id.tv_amount_value, item != null ? item.getMoney() : "")
|
||||
.setText(R.id.tv_expected_value, item != null ? item.getSurplus_money() : "")
|
||||
.setText(R.id.tv_time, item != null ? item.getCreatetime() : "");
|
||||
|
||||
TextView tvStatus = helper.getView(R.id.tv_status);
|
||||
tvStatus.setText(item != null ? item.getStatus_str() : "");
|
||||
|
||||
// 2. 处理item为空的边界情况
|
||||
if (item == null) {
|
||||
clearStatusUI(helper);
|
||||
return;
|
||||
}
|
||||
|
||||
// 3. 根据状态设置UI(使用switch替代多层if-else)
|
||||
switch (item.getStatus()) {
|
||||
case STATUS_PENDING:
|
||||
setStatusUI(helper,
|
||||
com.xscm.moduleutil.R.mipmap.dcl, // im_x图标
|
||||
com.xscm.moduleutil.R.color.color_0DFFB9, // 状态文本颜色
|
||||
TEXT_EXPECTED_DEFAULT, // 预计到账文本
|
||||
TEXT_TAX_CALCULATING, // 个税文本
|
||||
com.xscm.moduleutil.R.color.color_black); // 预计值颜色
|
||||
break;
|
||||
case STATUS_APPROVED:
|
||||
setStatusUI(helper,
|
||||
com.xscm.moduleutil.R.mipmap.dcl2,
|
||||
com.xscm.moduleutil.R.color.color_999999,
|
||||
TEXT_EXPECTED_DEFAULT,
|
||||
TEXT_TAX_CALCULATING,
|
||||
com.xscm.moduleutil.R.color.color_black);
|
||||
break;
|
||||
case STATUS_REJECTED:
|
||||
setStatusUI(helper,
|
||||
com.xscm.moduleutil.R.mipmap.dcl3,
|
||||
com.xscm.moduleutil.R.color.color_ff8acc,
|
||||
TEXT_EXPECTED_REFUND,
|
||||
item.getReceived_tax_amount(),
|
||||
com.xscm.moduleutil.R.color.color_black);
|
||||
break;
|
||||
case STATUS_PAYING:
|
||||
setStatusUI(helper,
|
||||
com.xscm.moduleutil.R.mipmap.dcl4,
|
||||
com.xscm.moduleutil.R.color.color_68A5FF,
|
||||
TEXT_EXPECTED_DEFAULT,
|
||||
TEXT_TAX_CALCULATING,
|
||||
com.xscm.moduleutil.R.color.color_black);
|
||||
break;
|
||||
case STATUS_PAY_FAILED:
|
||||
setStatusUI(helper,
|
||||
com.xscm.moduleutil.R.mipmap.dcl5,
|
||||
com.xscm.moduleutil.R.color.color_ff8acc,
|
||||
TEXT_EXPECTED_REFUND,
|
||||
item.getReceived_tax_amount(),
|
||||
com.xscm.moduleutil.R.color.color_black);
|
||||
break;
|
||||
case STATUS_PAID:
|
||||
setStatusUI(helper,
|
||||
com.xscm.moduleutil.R.mipmap.dcl6,
|
||||
com.xscm.moduleutil.R.color.color_999999,
|
||||
TEXT_EXPECTED_ACTUAL,
|
||||
item.getReceived_tax_amount(),
|
||||
com.xscm.moduleutil.R.color.color_2ADB88);
|
||||
break;
|
||||
default:
|
||||
// 未知状态处理
|
||||
setStatusUI(helper,
|
||||
0, // 空图标
|
||||
com.xscm.moduleutil.R.color.color_999999,
|
||||
"", "", com.xscm.moduleutil.R.color.color_black);
|
||||
tvStatus.setText("未知状态");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 封装状态相关UI设置(消除重复代码)
|
||||
*
|
||||
* @param helper ViewHolder
|
||||
* @param imXRes im_x的图标资源
|
||||
* @param statusTextColor 状态文本颜色
|
||||
* @param expectedText 预计到账文本
|
||||
* @param taxValue 个税文本
|
||||
* @param expectedValueColor 预计值文本颜色
|
||||
*/
|
||||
private void setStatusUI(BaseViewHolder helper, int imXRes, int statusTextColor,
|
||||
String expectedText, String taxValue, int expectedValueColor) {
|
||||
Context context = helper.itemView.getContext(); // 从itemView获取上下文,更可靠
|
||||
|
||||
// 设置im_x图标
|
||||
if (imXRes != 0) {
|
||||
helper.setBackgroundRes(R.id.im_x, imXRes);
|
||||
}
|
||||
|
||||
// 设置状态文本颜色(使用ContextCompat兼容低版本)
|
||||
TextView tvStatus = helper.getView(R.id.tv_status);
|
||||
tvStatus.setTextColor(ContextCompat.getColor(context, statusTextColor));
|
||||
|
||||
// 设置其他文本
|
||||
helper.setText(R.id.tv_expected, expectedText)
|
||||
.setText(R.id.tv_tax_value, taxValue)
|
||||
.setTextColor(R.id.tv_expected_value, ContextCompat.getColor(context, expectedValueColor));
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空状态相关UI(处理item为null的情况)
|
||||
*/
|
||||
private void clearStatusUI(BaseViewHolder helper) {
|
||||
helper.setBackgroundRes(R.id.im_x, 0)
|
||||
.setText(R.id.tv_expected, "")
|
||||
.setText(R.id.tv_tax_value, "")
|
||||
.setTextColor(R.id.tv_expected_value, ContextCompat.getColor(helper.itemView.getContext(), com.xscm.moduleutil.R.color.color_black));
|
||||
|
||||
TextView tvStatus = helper.getView(R.id.tv_status);
|
||||
tvStatus.setTextColor(ContextCompat.getColor(helper.itemView.getContext(), com.xscm.moduleutil.R.color.color_999999));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,8 @@ public class AlbumDetailConacts {
|
||||
void deleteAlbum();
|
||||
void likeAlbum();
|
||||
|
||||
void findAlbum();
|
||||
|
||||
}
|
||||
public interface IMePre extends IPresenter {
|
||||
void getAlbumDetail(String albumId,String pwd,String page,String page_limit);
|
||||
|
||||
@@ -15,6 +15,7 @@ public class MyBagConacts {
|
||||
void packIncome(List<MyBagDataBean> myBagDataBean);
|
||||
void packOutcome(List<MyBagDataBean> myBagDataBean);
|
||||
void giftPack(List<GiftPackBean> giftPackBean);
|
||||
void finishRefreshLoadMore();
|
||||
}
|
||||
|
||||
public interface IMePre extends IPresenter {
|
||||
|
||||
@@ -5,13 +5,14 @@ import android.app.Activity;
|
||||
import com.xscm.moduleutil.activity.IPresenter;
|
||||
import com.xscm.moduleutil.activity.IView;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
|
||||
public final class MyMoneyConactos {
|
||||
public interface View extends IView<Activity> {
|
||||
void wallet(WalletBean walletBean);
|
||||
void bindType(BindType bindType);
|
||||
|
||||
void myInfoSuccess(UserInfo data);
|
||||
}
|
||||
|
||||
public interface IMePre extends IPresenter {
|
||||
@@ -20,5 +21,7 @@ public final class MyMoneyConactos {
|
||||
|
||||
void bindType(String userId);
|
||||
|
||||
void getMyInfo();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ public class RechargeConactos {
|
||||
|
||||
void wallet();
|
||||
|
||||
void appPay(String user_id,String money,String coin,String type);
|
||||
void appPay(String user_id,String money,String coin,String type,String type_params,String type_id);
|
||||
|
||||
void bindType(String userId);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.app.Activity;
|
||||
|
||||
import com.xscm.moduleutil.activity.IPresenter;
|
||||
import com.xscm.moduleutil.activity.IView;
|
||||
import com.xscm.moduleutil.bean.BindDetail;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.bean.WalletConfig;
|
||||
@@ -22,6 +23,10 @@ public final class WithdrawalConacts {
|
||||
|
||||
void withdrawal(String s);
|
||||
void withdrawalList(List<WithdrawalBean> list);
|
||||
|
||||
void bindDetai(BindDetail bindDetail);
|
||||
|
||||
void finishRefreshLoadMore();
|
||||
}
|
||||
|
||||
public interface IMePre extends IPresenter {
|
||||
@@ -37,5 +42,7 @@ public final class WithdrawalConacts {
|
||||
void withdrawal(String number,String type,String sms_code);
|
||||
|
||||
void withdrawalList(String page,String page_limit,String search_stime,String search_etime);
|
||||
|
||||
void bindDetai(String userId,String type);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.example.modulevocal.databinding.FragmentCirleListBinding;
|
||||
import com.example.modulevocal.presenter.UserHomepagePresenter;
|
||||
import com.xscm.moduleutil.adapter.CirleListAdapter;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.base.RoomManager;
|
||||
import com.xscm.moduleutil.bean.CircleListBean;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
@@ -130,7 +131,9 @@ public class CirleListFragment extends BaseMvpFragment<UserHomepagePresenter, Fr
|
||||
|
||||
@Override
|
||||
public void onGensui(CircleListBean item) {
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("form","首页热门列表").withString("roomId", item.getRoom_id()).navigation();
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), item.getRoom_id() +"","");
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("form","首页热门列表").withString("roomId", item.getRoom_id()).navigation();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -53,7 +53,7 @@ public class MyAlbumFragment extends BaseMvpFragment<MyAlbumPresenter, FragmentM
|
||||
@Override
|
||||
public void onAttach(@NonNull Context context) {
|
||||
super.onAttach(context);
|
||||
userId = getArguments().getString("userId");
|
||||
userId = getArguments().getString("userId");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -64,7 +64,7 @@ public class MyAlbumFragment extends BaseMvpFragment<MyAlbumPresenter, FragmentM
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
MvpPre.getAlbumList("1", "10",userId);
|
||||
MvpPre.getAlbumList("1", "10", userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -78,29 +78,29 @@ public class MyAlbumFragment extends BaseMvpFragment<MyAlbumPresenter, FragmentM
|
||||
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
AlbumBean item = mAdapter.getItem(position);
|
||||
if ("0".equals(item.getId())) {
|
||||
startActivity(new Intent(getActivity(), CreateAlbumActivity.class));
|
||||
}
|
||||
else {
|
||||
startActivity(new Intent(getActivity(), CreateAlbumActivity.class));
|
||||
} else {
|
||||
if (!TextUtils.isEmpty(item.getPwd())) {
|
||||
if (userId.equals(SpUtil.getUserId() + "")){
|
||||
if (userId.equals(SpUtil.getUserId() + "")) {
|
||||
onPasswordCorrect(item);
|
||||
}else {
|
||||
} else {
|
||||
showPasswordInputDialog(item);
|
||||
}
|
||||
} else {
|
||||
ARouter.getInstance().build(ARouteConstants.USER_ALBUM_DETAIL).withString("albumId", item.getId()).withString("pwd", item.getPwd()).withString("target_fragment",ARouteConstants.FRAGMENT_ALBUM).navigation();
|
||||
ARouter.getInstance().build(ARouteConstants.USER_ALBUM_DETAIL).withString("albumId", item.getId()).withString("pwd", item.getPwd()).withString("target_fragment", ARouteConstants.FRAGMENT_ALBUM).navigation();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
List<AlbumBean> list = new ArrayList<>();
|
||||
if (userId.equals(SpUtil.getUserId()+"")){
|
||||
if (userId.equals(SpUtil.getUserId() + "")) {
|
||||
AlbumBean albumBean = new AlbumBean();
|
||||
albumBean.setId("0");
|
||||
list.add(albumBean);
|
||||
mAdapter.setNewData(list);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint({"MissingInflatedId", "LocalSuppress"})
|
||||
private void showPasswordInputDialog(AlbumBean item) {
|
||||
// 创建弹出框视图
|
||||
@@ -108,7 +108,7 @@ public class MyAlbumFragment extends BaseMvpFragment<MyAlbumPresenter, FragmentM
|
||||
|
||||
// 获取弹出框中的控件
|
||||
final EditText etPassword = dialogView.findViewById(com.xscm.moduleutil.R.id.ed_album_password);
|
||||
TextView btnCancel = dialogView.findViewById(com.xscm.moduleutil.R.id.tv_cancel);
|
||||
TextView btnCancel = dialogView.findViewById(com.xscm.moduleutil.R.id.tv_cancel);
|
||||
TextView btnConfirm = dialogView.findViewById(com.xscm.moduleutil.R.id.tv_confirm);
|
||||
|
||||
// 创建并显示弹出框
|
||||
@@ -150,7 +150,7 @@ public class MyAlbumFragment extends BaseMvpFragment<MyAlbumPresenter, FragmentM
|
||||
// 密码正确后的操作方法(示例)
|
||||
private void onPasswordCorrect(AlbumBean item) {
|
||||
// 密码正确后的具体操作
|
||||
ARouter.getInstance().build(ARouteConstants.USER_ALBUM_DETAIL).withString("albumId", item.getId()).withString("pwd", item.getPwd()).navigation();
|
||||
ARouter.getInstance().build(ARouteConstants.USER_ALBUM_DETAIL).withString("albumId", item.getId()).withString("pwd", item.getPwd()).navigation();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -160,10 +160,13 @@ public class MyAlbumFragment extends BaseMvpFragment<MyAlbumPresenter, FragmentM
|
||||
|
||||
@Override
|
||||
public void getAlbumList(List<AlbumBean> data) {
|
||||
if (userId.equals(SpUtil.getUserId()+"")){
|
||||
if (data == null) {
|
||||
data = new ArrayList<>();
|
||||
}
|
||||
if (userId.equals(SpUtil.getUserId() + "")) {
|
||||
AlbumBean albumBean = new AlbumBean();
|
||||
albumBean.setId("0");
|
||||
data.add(0,albumBean);
|
||||
data.add(0, albumBean);
|
||||
}
|
||||
mAdapter.setNewData(data);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.example.modulevocal.conacts.MyRoomListContacts;
|
||||
import com.example.modulevocal.databinding.RoomFragmentMyFollowBinding;
|
||||
import com.example.modulevocal.presenter.MyRoomPresenter;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.base.RoomManager;
|
||||
import com.xscm.moduleutil.bean.AttentionResp;
|
||||
import com.xscm.moduleutil.bean.ManageRoomResp;
|
||||
import com.xscm.moduleutil.bean.MyCpRoom;
|
||||
@@ -67,7 +68,7 @@ public class MyFollowFragment extends BaseMvpFragment<MyRoomPresenter, RoomFragm
|
||||
mBinding.recycleView.setAdapter(followAdapter = new ChatRoomMyFollowAdapter());
|
||||
followAdapter.bindToRecyclerView(mBinding.recycleView);
|
||||
CommonEmptyView commonEmptyView = new CommonEmptyView(getContext());
|
||||
commonEmptyView.setEmptyText("亲亲,你还没管理任何房间哦~赶快动起来吧!");
|
||||
commonEmptyView.setEmptyText("亲亲,你还没关注任何房间哦~赶快动起来吧!");
|
||||
commonEmptyView.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_FFBDBDBC));
|
||||
followAdapter.setEmptyView(commonEmptyView);
|
||||
|
||||
@@ -76,8 +77,10 @@ public class MyFollowFragment extends BaseMvpFragment<MyRoomPresenter, RoomFragm
|
||||
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
MyRoomBean item = followAdapter.getItem(position);
|
||||
if (item != null) {
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), item.getRoom_id() +"","");
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("form", "历史记录列表").withString("roomId", item.getRoom_id()).navigation();
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.example.modulevocal.conacts.MyRoomListContacts;
|
||||
import com.example.modulevocal.databinding.RoomFragmentMyManageBinding;
|
||||
import com.example.modulevocal.presenter.MyRoomPresenter;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.base.RoomManager;
|
||||
import com.xscm.moduleutil.bean.AttentionResp;
|
||||
import com.xscm.moduleutil.bean.ManageRoomResp;
|
||||
import com.xscm.moduleutil.bean.MyCpRoom;
|
||||
@@ -78,8 +79,10 @@ public class MyManageFragment extends BaseMvpFragment<MyRoomPresenter, RoomFragm
|
||||
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
MyRoomBean item = manageAdapter.getItem(position);
|
||||
if (item != null) {
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), item.getRoom_id() +"","");
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("form", "历史记录列表").withString("roomId", item.getRoom_id()).navigation();
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.example.modulevocal.conacts.MyRoomListContacts;
|
||||
import com.example.modulevocal.databinding.RoomFragmentMyRoomListListBinding;
|
||||
import com.example.modulevocal.presenter.MyRoomPresenter;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.base.RoomManager;
|
||||
import com.xscm.moduleutil.bean.AttentionResp;
|
||||
import com.xscm.moduleutil.bean.ManageRoomResp;
|
||||
import com.xscm.moduleutil.bean.MyCpRoom;
|
||||
@@ -147,7 +148,9 @@ public class MyRoomListFragment extends BaseMvpFragment<MyRoomPresenter, RoomFra
|
||||
helper.getView(R.id.cl_my_room_list).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), item.getRoom_id() +"","");
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
|
||||
// TODO: 跳转到房间详情页面
|
||||
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
|
||||
|
||||
@@ -67,8 +67,10 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
|
||||
}
|
||||
}
|
||||
|
||||
public void refreshData() {
|
||||
public void refreshData(int type, String direction) {
|
||||
isLoaded = false;
|
||||
this.type= String.valueOf(type);
|
||||
this.revenueType=direction;
|
||||
loadData();
|
||||
}
|
||||
|
||||
@@ -84,12 +86,13 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
|
||||
DoubleTimePickerBottomSheet dialog = new DoubleTimePickerBottomSheet();
|
||||
dialog.setOnTimeRangeSelectedListener((startDate, endDate) -> {
|
||||
// 处理选择的时间范围
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:mm", Locale.getDefault());
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
|
||||
Log.d("SelectedTime", "开始时间:" + sdf.format(startDate));
|
||||
mBinding.tv2.setText(sdf.format(startDate));
|
||||
Log.d("SelectedTime", "结束时间:" + sdf.format(endDate));
|
||||
mBinding.tv22.setText(sdf.format(endDate));
|
||||
MvpPre.getRevenueData("1","50",type,mBinding.tv2.getText().toString(),mBinding.tv22.getText().toString(),revenueType);
|
||||
page=1;
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,mBinding.tv2.getText().toString(),mBinding.tv22.getText().toString(),type);
|
||||
});
|
||||
dialog.show(getParentFragmentManager(), "DoubleTimePicker");
|
||||
});
|
||||
@@ -109,10 +112,12 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
|
||||
String endDate = mBinding.tv22.getText().toString();
|
||||
if ( startDate!=null && !startDate.equals("") ){
|
||||
if ( endDate!=null && !endDate.equals("") ){
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,startDate,endDate,revenueType);
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,startDate,endDate,type);
|
||||
}else {
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,"",endDate,type);
|
||||
}
|
||||
}else {
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
|
||||
}
|
||||
|
||||
// MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
|
||||
@@ -125,12 +130,14 @@ public class RevenueFragment extends BaseMvpFragment<RevenuePresenter, FragmentR
|
||||
// MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
|
||||
String startDate = mBinding.tv2.getText().toString();
|
||||
String endDate = mBinding.tv22.getText().toString();
|
||||
if ( startDate!=null && !startDate.equals("") ){
|
||||
if ( startDate!=null && !startDate.equals("") ){
|
||||
if ( endDate!=null && !endDate.equals("") ){
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,startDate,endDate,revenueType);
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,startDate,endDate,type);
|
||||
}else {
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,"",endDate,type);
|
||||
}
|
||||
}else {
|
||||
MvpPre.getRevenueData(page+"","50",revenueType,"","",type);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.example.modulevocal.fragment;
|
||||
import android.os.Bundle;
|
||||
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.activity.UserHomepageActivity;
|
||||
import com.example.modulevocal.adapter.UserGiftWallAdapter;
|
||||
@@ -65,14 +67,17 @@ public class UserGiftWallFragment extends BaseMvpFragment<UserGiftWallPresenter,
|
||||
rows = 6;
|
||||
columns = 4;
|
||||
}
|
||||
|
||||
rows = 6;
|
||||
columns = 4;
|
||||
mUserGiftWallAdapter = new UserGiftWallAdapter();
|
||||
PagerGridLayoutManager layoutManager = new PagerGridLayoutManager(rows, columns, PagerGridLayoutManager.VERTICAL);
|
||||
mBinding.recyclerView.setLayoutManager(layoutManager);
|
||||
|
||||
|
||||
mBinding.recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 4));
|
||||
mBinding.recyclerView.setOnFlingListener(null);
|
||||
// 设置滚动辅助工具
|
||||
PagerGridSnapHelper pageSnapHelper = new PagerGridSnapHelper();
|
||||
pageSnapHelper.attachToRecyclerView(mBinding.recyclerView);
|
||||
// PagerGridSnapHelper pageSnapHelper = new PagerGridSnapHelper();
|
||||
// pageSnapHelper.attachToRecyclerView(mBinding.recyclerView);
|
||||
mBinding.recyclerView.setAdapter(mUserGiftWallAdapter);
|
||||
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.example.modulevocal.conacts.UserHomepageConacts;
|
||||
import com.example.modulevocal.databinding.FragmentUserHompageBinding;
|
||||
import com.example.modulevocal.presenter.UserHomepagePresenter;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.base.RoomManager;
|
||||
import com.xscm.moduleutil.bean.CircleListBean;
|
||||
import com.xscm.moduleutil.bean.MyBagBean;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
@@ -129,8 +130,8 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
|
||||
if (url.contains("http")) {
|
||||
ImageView imageView = new ImageView(getContext());
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_37),
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_15)
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_74),
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_17)
|
||||
);
|
||||
params.setMargins(0, 0, getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_5), 0); // 右边距
|
||||
imageView.setLayoutParams(params);
|
||||
@@ -220,7 +221,9 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
|
||||
intent.putExtra(TUIConstants.TUIChat.CHAT_TYPE, V2TIMConversation.V2TIM_C2C);
|
||||
startActivity(intent);
|
||||
} else {
|
||||
ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("roomId", userInfo.getRoom_id()).navigation();
|
||||
RoomManager.getInstance().fetchRoomDataAndEnter(getActivity(), userInfo.getRoom_id(),"");
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("roomId", userInfo.getRoom_id()).navigation();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import android.os.Bundle;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -33,6 +34,7 @@ import com.example.modulevocal.databinding.FragmentVocalRangeBinding;
|
||||
import com.example.modulevocal.presenter.MePresenter;
|
||||
import com.xscm.moduleutil.activity.WebViewActivity;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -130,12 +132,12 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
startActivity(intent);
|
||||
}else if (id==R.id.me_my_guild){
|
||||
Intent intent=new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", " https://vespa.qxmier.com/web/index.html#/pages/union/index?id="+SpUtil.getToken());
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/union/index?id="+SpUtil.getToken());
|
||||
intent.putExtra("title", "公会");
|
||||
startActivity(intent);
|
||||
}else if (id==R.id.tv_my_shopping){
|
||||
Intent intent=new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", "https://vespa.qxmier.com/web/index.html#/pages/prop/propMall?id="+SpUtil.getToken());
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/prop/propMall?id="+SpUtil.getToken());
|
||||
intent.putExtra("title", "道具商城");
|
||||
startActivity(intent);
|
||||
}
|
||||
@@ -144,13 +146,13 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
intent.putExtra("type",2);
|
||||
startActivity(intent);
|
||||
} else if (id == R.id.ll_friends) {//访客
|
||||
if (userInfo.getCharm_level()>=20){
|
||||
// if (userInfo.getCharm_level()>=20){
|
||||
Intent intent=new Intent(getContext(), BlacklistActivity.class);
|
||||
intent.putExtra("type",3);
|
||||
startActivity(intent);
|
||||
}else {
|
||||
ToastUtils.showShort("需要魅力等级20以上才能查看");
|
||||
}
|
||||
// }else {
|
||||
// ToastUtils.showShort("需要魅力等级20以上才能查看");
|
||||
// }
|
||||
|
||||
// ARouter.getInstance().build(ARouteConstants.ME_MY_FRIENDS).withInt("type", 0).navigation();
|
||||
// AppLogUtil.reportAppLog(AppLogEvent.C0112);
|
||||
@@ -186,18 +188,18 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
startActivity(new Intent(getContext(), SettingActivity.class));
|
||||
}else if (id == R.id.me_my_dan){//等级
|
||||
Intent intent = new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", "https://vespa.qxmier.com/web/index.html#/pages/other/grade?id=" + SpUtil.getToken());
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/other/grade?id=" + SpUtil.getToken());
|
||||
intent.putExtra("title", "等级");
|
||||
startActivity(intent);
|
||||
}else if (id == R.id.iv_kf){//反馈
|
||||
Intent intent = new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", "https://vespa.qxmier.com/web/index.html#/pages/feedback/help?id=" + SpUtil.getToken());
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/feedback/help?id=" + SpUtil.getToken());
|
||||
// intent.putExtra("url", "http://192.168.110.17:8080/web/index.html#/pages/feedback/help?id=" + SpUtil.getToken());
|
||||
intent.putExtra("title", "反馈");
|
||||
startActivity(intent);
|
||||
}else if (id == R.id.iv_hb){//邀请
|
||||
Intent intent = new Intent(getContext(), WebViewActivity.class);
|
||||
intent.putExtra("url", " https://vespa.qxmier.com/web/index.html#/pages/other/income?id=" + SpUtil.getToken());
|
||||
intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url()+"/web/index.html#/pages/other/income?id=" + SpUtil.getToken());
|
||||
intent.putExtra("title", "邀请");
|
||||
startActivity(intent);
|
||||
}else if (id==R.id.beautiful_view_copy){
|
||||
@@ -263,22 +265,24 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
llContainer.removeAllViews(); // 清空旧的 ImageView
|
||||
|
||||
List<String> images = data.getIcon(); // 获取图片列表
|
||||
if (images != null && !images.isEmpty()) {
|
||||
|
||||
for (String url : images) {
|
||||
if (url.contains("http")) {
|
||||
ImageView imageView = new ImageView(getContext());
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_37),
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_15)
|
||||
);
|
||||
params.setMargins(0, 0, getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_5), 0); // 右边距
|
||||
imageView.setLayoutParams(params);
|
||||
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
|
||||
for (String url : images) {
|
||||
if (url.contains("http")) {
|
||||
ImageView imageView = new ImageView(getContext());
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_74),
|
||||
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_17)
|
||||
);
|
||||
params.setMargins(0, 0, getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_5), 0); // 右边距
|
||||
imageView.setLayoutParams(params);
|
||||
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
|
||||
|
||||
// 使用 Glide 加载图片
|
||||
ImageUtils.loadHeadCC(url, imageView);
|
||||
// 使用 Glide 加载图片
|
||||
ImageUtils.loadHeadCC(url, imageView);
|
||||
|
||||
llContainer.addView(imageView);
|
||||
llContainer.addView(imageView);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -82,4 +82,9 @@ public class MyBagFragment extends BaseMvpFragment<MyBagPresenter, FragmentMyBag
|
||||
public void giftPack(List<GiftPackBean> giftPackBean) {
|
||||
mAdapter.setNewData(giftPackBean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finishRefreshLoadMore() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ public class MyBagListAdapter extends BaseQuickAdapter<MyBagDataBean, BaseViewHo
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, MyBagDataBean item) {
|
||||
helper.setText(R.id.tv_title, item.getTitle());
|
||||
helper.setText(R.id.tv_title, item.getRemarks());
|
||||
helper.setText(R.id.tv_time, item.getTime());
|
||||
helper.setText(R.id.tv_gift_name, item.getGiftName());
|
||||
helper.setText(R.id.tv_gift_name, item.getGift_name());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,22 +2,27 @@ package com.example.modulevocal.fragment.mybag;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.conacts.MyBagConacts;
|
||||
import com.example.modulevocal.databinding.FragmentMyBagListBinding;
|
||||
import com.example.modulevocal.presenter.MyBagPresenter;
|
||||
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.bean.GiftPackBean;
|
||||
import com.xscm.moduleutil.bean.MyBagDataBean;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentMyBagListBinding> implements MyBagConacts.View{
|
||||
MyBagListAdapter mAdapter;
|
||||
private String type;
|
||||
List<MyBagDataBean> myBagDataBeanList;
|
||||
private int page = 1;
|
||||
|
||||
public static MyBagListFragment newInstance(String type) {
|
||||
|
||||
@@ -43,8 +48,10 @@ public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentM
|
||||
if (type.equals("1")){
|
||||
|
||||
}else if (type.equals("2")){
|
||||
page=1;
|
||||
MvpPre.packIncome("1","30");
|
||||
}else if (type.equals("3")){
|
||||
page=1;
|
||||
MvpPre.packOutcome("1","30");
|
||||
}
|
||||
|
||||
@@ -52,6 +59,29 @@ public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentM
|
||||
|
||||
mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
mBinding.recyclerView.setAdapter(mAdapter);
|
||||
mBinding.smartRefreshLayout.setOnLoadMoreListener(new OnRefreshLoadMoreListener() {
|
||||
@Override
|
||||
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
|
||||
if (type.equals("2")) {
|
||||
page++;
|
||||
MvpPre.packIncome(page + "", "30");
|
||||
}else if (type.equals("3")){
|
||||
page++;
|
||||
MvpPre.packOutcome(page + "", "30");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
||||
if (type.equals("2")) {
|
||||
page = 1;
|
||||
MvpPre.packIncome(page + "", "30");
|
||||
}else if (type.equals("3")){
|
||||
page = 1;
|
||||
MvpPre.packOutcome(page + "", "30");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -65,19 +95,36 @@ public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentM
|
||||
|
||||
@Override
|
||||
public void packIncome(List<MyBagDataBean> myBagDataBean) {
|
||||
if (myBagDataBeanList!=null) {
|
||||
myBagDataBeanList.addAll(myBagDataBean);
|
||||
mAdapter.setNewData(myBagDataBeanList);
|
||||
if (page==1) {
|
||||
mAdapter.setNewData(myBagDataBean);
|
||||
}else {
|
||||
if (myBagDataBean==null){
|
||||
return;
|
||||
}
|
||||
mAdapter.addData(myBagDataBean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOutcome(List<MyBagDataBean> myBagDataBean) {
|
||||
mAdapter.setNewData(myBagDataBean);
|
||||
if (page==1) {
|
||||
mAdapter.setNewData(myBagDataBean);
|
||||
}else {
|
||||
if (myBagDataBean==null){
|
||||
return;
|
||||
}
|
||||
mAdapter.addData(myBagDataBean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void giftPack(List<GiftPackBean> giftPackBean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finishRefreshLoadMore() {
|
||||
mBinding.smartRefreshLayout.finishRefresh();
|
||||
mBinding.smartRefreshLayout.finishLoadMore();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public class ZhuangBanShangChengAdapter extends BaseQuickAdapter<ZhuangBanShangC
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground( tv_integral, ColorManager.getInstance().getPrimaryColorInt(), corners);
|
||||
tv_integral.setTextColor(ColorManager.getInstance().getButtonColorInt());
|
||||
|
||||
helper.setText(R.id.integral, item.getRemaining_day())
|
||||
helper.setText(R.id.integral, item.getRemaining_day()+"天")
|
||||
.setText(R.id.tv_name_period, item.getTitle());
|
||||
// .setText(R.id.tv_time, "(有效期${item.period}天)")
|
||||
if (item.isIs_select()) {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
public class ZhuangBanShangChengConactos {
|
||||
|
||||
public interface View extends IView<Activity> {
|
||||
void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans);
|
||||
void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans,int tabIndex);
|
||||
|
||||
void setUserDecorate();
|
||||
|
||||
@@ -19,7 +19,7 @@ public class ZhuangBanShangChengConactos {
|
||||
}
|
||||
|
||||
public interface ICreatedRoomPre extends IPresenter {
|
||||
void getDecorateList(String type);
|
||||
void getDecorateList(String type,int tabIndex);
|
||||
|
||||
void setUserDecorate(String udid);
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.example.modulevocal.fragment.zhuangb;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static com.xscm.moduleutil.utils.ImageLoader.loadImage;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
@@ -12,13 +14,18 @@ import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.databinding.ZhuangbanRecyclerviewNorefBinding;
|
||||
import com.example.modulevocal.fragment.MyRoomListFragment;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
import com.xscm.moduleutil.widget.AvatarFrameView;
|
||||
import com.tencent.qgame.animplayer.AnimView;
|
||||
import com.xscm.moduleutil.widget.GiftAnimView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangChengPresenter, ZhuangbanRecyclerviewNorefBinding> implements ZhuangBanShangChengConactos.View {
|
||||
@@ -30,7 +37,11 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
private String did;
|
||||
ZhuangBanShangChengAdapter adapter;
|
||||
AvatarFrameView imageBg;
|
||||
GiftAnimView imageBg2;
|
||||
AnimView item_animview;
|
||||
RoundedImageView image_user;
|
||||
private int tabIndex;
|
||||
|
||||
@Override
|
||||
protected ZhuangBanShangChengPresenter bindPresenter() {
|
||||
return new ZhuangBanShangChengPresenter(this, getActivity());
|
||||
@@ -43,15 +54,30 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initArgs(Bundle arguments) {
|
||||
super.initArgs(arguments);
|
||||
type = arguments.getInt("type", MyRoomListFragment.TYPE_CREATE);
|
||||
}
|
||||
|
||||
public void loadDataIfNeeded(int type,int tabIndex) {
|
||||
if (MvpPre == null) {
|
||||
MvpPre = bindPresenter();
|
||||
}
|
||||
this.type = type;
|
||||
this.tabIndex = tabIndex;
|
||||
MvpPre.getDecorateList(type + "", tabIndex);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
MvpPre.getDecorateList(type+"");
|
||||
MvpPre.getDecorateList(type + "", tabIndex);
|
||||
|
||||
|
||||
// //这里根据传递的type进行数据查询
|
||||
|
||||
// zhuangBanShangChengBeanList=new ArrayList<>();
|
||||
// for (int i = 0; i < 10; i++) {
|
||||
// ZhuangBanShangChengBean zhuangBanShangChengBean=new ZhuangBanShangChengBean();
|
||||
@@ -62,9 +88,39 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
// zhuangBanShangChengBean.setBase_image("");
|
||||
// zhuangBanShangChengBeanList.add(zhuangBanShangChengBean);
|
||||
// }
|
||||
|
||||
image_user = (RoundedImageView) getActivity().findViewById(R.id.iv_user);
|
||||
imageBg = (AvatarFrameView) getActivity().findViewById(R.id.image_headPortrait);
|
||||
// imageBg2 = (GiftAnimView) getActivity().findViewById(R.id.image_headPortrait2);
|
||||
imageBg2 = new GiftAnimView(getActivity());
|
||||
imageBg2.setLayoutParams(new ViewGroup.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT
|
||||
));
|
||||
imageBg2.setVisibility(GONE);
|
||||
|
||||
ViewGroup parentLayout = (ViewGroup) getActivity().findViewById(R.id.ccl).getParent(); // 或者其他合适的父布局
|
||||
parentLayout.addView(imageBg2);
|
||||
item_animview = (AnimView) getActivity().findViewById(R.id.item_animview);
|
||||
if (SpUtil.getUserInfo() != null) {
|
||||
if (SpUtil.getUserInfo().getAvatar() != null) {
|
||||
ImageUtils.loadHeadCC(SpUtil.getUserInfo().getAvatar(), image_user);
|
||||
}
|
||||
}
|
||||
// if (type == 1) {
|
||||
//// image_user.setVisibility(View.VISIBLE);
|
||||
// imageBg.setVisibility(View.VISIBLE);
|
||||
// imageBg2.setVisibility(View.GONE);
|
||||
// } else if (type == 2){
|
||||
//// image_user.setVisibility(View.GONE);
|
||||
// imageBg.setVisibility(View.GONE);
|
||||
// imageBg2.setVisibility(View.VISIBLE);
|
||||
// }else {
|
||||
//// image_user.setVisibility(View.GONE);
|
||||
// imageBg.setVisibility(View.GONE);
|
||||
// imageBg2.setVisibility(View.GONE);
|
||||
// }
|
||||
|
||||
|
||||
adapter = new ZhuangBanShangChengAdapter();
|
||||
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 3);
|
||||
mBinding.recyclerView.setLayoutManager(gridLayoutManager);
|
||||
@@ -72,6 +128,29 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
|
||||
adapter.setOnItemChildClickListener((adapter1, view, position) -> {
|
||||
List<ZhuangBanShangChengBean> list = (List<ZhuangBanShangChengBean>) adapter1.getData();
|
||||
// 清除之前的选择状态
|
||||
clearPreviousSelection(list);
|
||||
// // 设置当前选择
|
||||
// ZhuangBanShangChengBean selectedBean = list.get(position);
|
||||
// selectedBean.setIs_select(true);
|
||||
// pSelect = position;
|
||||
// did = selectedBean.getUdid();
|
||||
//
|
||||
// // 更新UI显示
|
||||
// if (position == 0) { // "无"选项
|
||||
// mBinding.ll.setVisibility(View.GONE);
|
||||
// clearDecorations();
|
||||
// } else {
|
||||
// mBinding.ll.setVisibility(View.VISIBLE);
|
||||
//
|
||||
// if ("svga".equalsIgnoreCase(getFileExtension(selectedBean.getPlay_image()))) {
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(selectedBean.getPlay_image(), 2);
|
||||
// } else if ("mp4".equalsIgnoreCase(getFileExtension(selectedBean.getPlay_image()))) {
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(selectedBean.getPlay_image(), 2);
|
||||
// }
|
||||
// }
|
||||
|
||||
if (pSelect != -1 && pSelect != position) {
|
||||
list.get(pSelect).setIs_select(false);
|
||||
@@ -79,34 +158,60 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
pSelect = position;
|
||||
did = list.get(position).getUdid();
|
||||
mBinding.ll.setVisibility(View.VISIBLE);
|
||||
if (list.get( position)!=null && list.get(position).getType()!=null && list.get(position).getPlay_image()!=null) {
|
||||
|
||||
if ("svga".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
// imageBg.playSVGA(list.get(position).getPlay_image());
|
||||
imageBg.setSource(list.get(position).getPlay_image(),1);
|
||||
} else if ("mp4".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
// imageBg.playMP4(Uri.parse(list.get(position).getPlay_image()));
|
||||
imageBg.setSource(list.get(position).getPlay_image(),1);
|
||||
// if ("svga".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
if (list.get(position).getType().equals("1")) {
|
||||
imageBg2.setVisibility(View.GONE);
|
||||
imageBg.stopAll();
|
||||
imageBg.setSource(list.get(position).getPlay_image(), 2);
|
||||
} else if (list.get(position).getType().equals("2")) {
|
||||
// imageBg2.setSource(list.get(position).getPlay_image(), 2);
|
||||
imageBg2.setVisibility(View.VISIBLE);
|
||||
imageBg2.previewEffectWith(list.get(position).getPlay_image());
|
||||
}
|
||||
}
|
||||
// } else if ("mp4".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
//// imageBg.playMP4(Uri.parse(list.get(position).getPlay_image()));
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(list.get(position).getPlay_image(),2);
|
||||
// }
|
||||
} else if (pSelect != -1 && pSelect == position) {
|
||||
list.get(position).setIs_select(false);
|
||||
pSelect = -1;
|
||||
mBinding.ll.setVisibility(View.GONE);
|
||||
mBinding.ll.setVisibility(GONE);
|
||||
} else {
|
||||
list.get(position).setIs_select(true);
|
||||
did = list.get(position).getUdid();
|
||||
pSelect = position;
|
||||
mBinding.ll.setVisibility(View.VISIBLE);
|
||||
|
||||
if (list.get( position)!=null && list.get(position).getType()!=null && list.get(position).getPlay_image()!=null) {
|
||||
|
||||
if (list.get(position).getType().equals("1")) {
|
||||
imageBg2.setVisibility(View.GONE);
|
||||
imageBg.stopAll();
|
||||
imageBg.setSource(list.get(position).getPlay_image(), 2);
|
||||
} else if (list.get(position).getType().equals("2")) {
|
||||
imageBg2.setVisibility(View.VISIBLE);
|
||||
// imageBg2.stopAll();
|
||||
// imageBg2.setSource(list.get(position).getPlay_image(), 2);
|
||||
imageBg2.previewEffectWith(list.get(position).getPlay_image());
|
||||
}
|
||||
}
|
||||
|
||||
// loadImage(getContext(),imageBg, list.get(position).getPlay_image());
|
||||
// ImageUtils.loadDecorationAvatar(list.get(position).getPlay_image(), imageBg);
|
||||
// imageBg.load(list.get(position).getPlay_image());
|
||||
if ("svga".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
imageBg.setSource(list.get(position).getPlay_image(),1);
|
||||
// imageBg.playSVGA(list.get(position).getPlay_image());
|
||||
} else if ("mp4".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
imageBg.setSource(list.get(position).getPlay_image(), 1);
|
||||
// imageBg.playMP4(Uri.parse(list.get(position).getPlay_image()));
|
||||
}
|
||||
// if ("svga".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(list.get(position).getPlay_image(), 2);
|
||||
//// imageBg.playSVGA(list.get(position).getPlay_image());
|
||||
// } else if ("mp4".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(list.get(position).getPlay_image(), 2);
|
||||
//// imageBg.playMP4(Uri.parse(list.get(position).getPlay_image()));
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -116,6 +221,29 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
adapter.setNewData(zhuangBanShangChengBeanList);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除之前的选择状态
|
||||
*/
|
||||
private void clearPreviousSelection(List<ZhuangBanShangChengBean> list) {
|
||||
if (pSelect != -1 && pSelect < list.size()) {
|
||||
list.get(pSelect).setIs_select(false);
|
||||
}
|
||||
pSelect = -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除装饰效果
|
||||
*/
|
||||
private void clearDecorations() {
|
||||
if (imageBg != null) {
|
||||
imageBg.stopAll();
|
||||
}
|
||||
if (item_animview != null) {
|
||||
item_animview.stopPlay();
|
||||
}
|
||||
}
|
||||
|
||||
private String getFileExtension(String url) {
|
||||
if (url == null || url.isEmpty()) return "";
|
||||
int dotIndex = url.lastIndexOf(".");
|
||||
@@ -129,9 +257,9 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
protected void initView() {
|
||||
|
||||
mBinding.zhuangbanBuy.setOnClickListener(v -> {
|
||||
if (did == null || did.isEmpty()){
|
||||
MvpPre.cancelUserDecorate(type+"");
|
||||
}else {
|
||||
if (did == null || did.isEmpty()) {
|
||||
MvpPre.cancelUserDecorate(type + "");
|
||||
} else {
|
||||
MvpPre.setUserDecorate(did);
|
||||
}
|
||||
});
|
||||
@@ -145,12 +273,20 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans) {
|
||||
public void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans, int tabIndex) {
|
||||
if (adapter == null) {
|
||||
adapter = new ZhuangBanShangChengAdapter();
|
||||
}
|
||||
if (zhuangBanShangChengBeans==null){
|
||||
zhuangBanShangChengBeans=new ArrayList<>();
|
||||
}
|
||||
ZhuangBanShangChengBean zhuangBanShangChengBean = new ZhuangBanShangChengBean();
|
||||
zhuangBanShangChengBean.setTitle("默认头像");
|
||||
zhuangBanShangChengBean.setTitle("无");
|
||||
zhuangBanShangChengBean.setBase_image("");
|
||||
zhuangBanShangChengBeans.add(0,zhuangBanShangChengBean);
|
||||
zhuangBanShangChengBeans.add(0, zhuangBanShangChengBean);
|
||||
adapter.setNewData(zhuangBanShangChengBeans);
|
||||
|
||||
this.tabIndex = tabIndex;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,17 +6,21 @@ import com.xscm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class ZhuangBanShangChengPresenter extends BasePresenter<ZhuangBanShangChengConactos.View> implements ZhuangBanShangChengConactos.ICreatedRoomPre {
|
||||
ZhuangBanShangChengConactos.View mView;
|
||||
|
||||
public ZhuangBanShangChengPresenter(ZhuangBanShangChengConactos.View view, Context context) {
|
||||
super(view, context);
|
||||
this.mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDecorateList(String type) {
|
||||
public void getDecorateList(String type,int tabIndex) {
|
||||
api.getDecorateList(type, new BaseObserver<List<ZhuangBanShangChengBean>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
@@ -25,7 +29,10 @@ public class ZhuangBanShangChengPresenter extends BasePresenter<ZhuangBanShangCh
|
||||
|
||||
@Override
|
||||
public void onNext(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans) {
|
||||
MvpRef.get().getDecorateList(zhuangBanShangChengBeans);
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().getDecorateList(zhuangBanShangChengBeans, tabIndex);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -40,7 +47,10 @@ public class ZhuangBanShangChengPresenter extends BasePresenter<ZhuangBanShangCh
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
MvpRef.get().setUserDecorate();
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().setUserDecorate();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -56,6 +66,9 @@ public class ZhuangBanShangChengPresenter extends BasePresenter<ZhuangBanShangCh
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().cancelUserDecorate();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -7,16 +7,20 @@ import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.bean.AlbumBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
import com.xscm.moduleutil.utils.cos.CosUploadManager;
|
||||
import com.xscm.moduleutil.utils.oss.OSSOperUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class AlbumDetailPresenter extends BasePresenter<AlbumDetailConacts.View> implements AlbumDetailConacts.IMePre {
|
||||
private AlbumDetailConacts.View mView;
|
||||
public AlbumDetailPresenter(AlbumDetailConacts.View view, Context context) {
|
||||
super(view, context);
|
||||
this.mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,6 +34,7 @@ public class AlbumDetailPresenter extends BasePresenter<AlbumDetailConacts.View>
|
||||
@Override
|
||||
public void onNext(AlbumBean albumBean) {
|
||||
MvpRef.get().getAlbumDetail(albumBean);
|
||||
MvpRef.get().findAlbum();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -44,23 +49,40 @@ public class AlbumDetailPresenter extends BasePresenter<AlbumDetailConacts.View>
|
||||
public void uploadFile(File file, int type, int index, int size) {
|
||||
MvpRef.get().showLoadings("上传中...");
|
||||
String url = OSSOperUtils.getPath(file, type);
|
||||
OSSOperUtils.newInstance().putObjectMethod(url, file.getPath(), new OSSOperUtils.OssCallback() {
|
||||
CosUploadManager.getInstance().upParameters(url,file.getPath(), new CosUploadManager.UploadCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
public void onSuccess(String url) {
|
||||
if (isViewAttach()) {
|
||||
MvpRef.get().disLoadings();
|
||||
MvpRef.get().upLoadSuccess(OSSOperUtils.AliYunOSSURLFile + url, type, index, size);
|
||||
MvpRef.get().upLoadSuccess(url, type, index, size);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail() {
|
||||
if (isViewAttach()) {
|
||||
ToastUtils.show("上传失败");
|
||||
MvpRef.get().disLoadings();
|
||||
}
|
||||
public void onFailure(Exception e) {
|
||||
ToastUtils.show("上传失败");
|
||||
MvpRef.get().disLoadings();
|
||||
}
|
||||
});
|
||||
|
||||
// OSSOperUtils.newInstance().putObjectMethod(url, file.getPath(), new OSSOperUtils.OssCallback() {
|
||||
// @Override
|
||||
// public void onSuccess() {
|
||||
// if (isViewAttach()) {
|
||||
// MvpRef.get().disLoadings();
|
||||
// MvpRef.get().upLoadSuccess(OSSOperUtils.AliYunOSSURLFile + url, type, index, size);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onFail() {
|
||||
// if (isViewAttach()) {
|
||||
// ToastUtils.show("上传失败");
|
||||
// MvpRef.get().disLoadings();
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -89,6 +111,9 @@ public class AlbumDetailPresenter extends BasePresenter<AlbumDetailConacts.View>
|
||||
|
||||
@Override
|
||||
public void onNext(List<AlbumBean> albumBeans) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().getAlbumList(albumBeans);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.example.modulevocal.conacts.CreatedRoomConactos;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
import com.xscm.moduleutil.utils.cos.CosUploadManager;
|
||||
import com.xscm.moduleutil.utils.oss.OSSOperUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -80,22 +81,38 @@ public class CreatedRoomPresenter extends BasePresenter<CreatedRoomConactos.View
|
||||
public void uploadFile(File file, int type) {
|
||||
// MvpRef.get().showLoadings("上传中...");
|
||||
String url = OSSOperUtils.getPath(file, type);
|
||||
OSSOperUtils.newInstance().putObjectMethod(url, file.getPath(), new OSSOperUtils.OssCallback() {
|
||||
CosUploadManager.getInstance().upParameters(url,file.getPath(), new CosUploadManager.UploadCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
public void onSuccess(String url) {
|
||||
if (isViewAttach()) {
|
||||
MvpRef.get().disLoadings();
|
||||
MvpRef.get().upLoadSuccess(OSSOperUtils.AliYunOSSURLFile + url, type);
|
||||
MvpRef.get().upLoadSuccess(url, type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail() {
|
||||
if (isViewAttach()) {
|
||||
ToastUtils.show("上传失败");
|
||||
}
|
||||
public void onFailure(Exception e) {
|
||||
ToastUtils.show("上传失败");
|
||||
// MvpRef.get().disLoadings();
|
||||
}
|
||||
});
|
||||
|
||||
// OSSOperUtils.newInstance().putObjectMethod(url, file.getPath(), new OSSOperUtils.OssCallback() {
|
||||
// @Override
|
||||
// public void onSuccess() {
|
||||
// if (isViewAttach()) {
|
||||
// MvpRef.get().disLoadings();
|
||||
// MvpRef.get().upLoadSuccess(OSSOperUtils.AliYunOSSURLFile + url, type);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onFail() {
|
||||
// if (isViewAttach()) {
|
||||
// ToastUtils.show("上传失败");
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
import com.xscm.moduleutil.utils.cos.CosUploadManager;
|
||||
import com.xscm.moduleutil.utils.oss.OSSOperUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -28,23 +29,39 @@ public class EditUserPresenter extends BasePresenter<EditUserConactos.View> impl
|
||||
public void uploadFile(File file, int type, int index, int size) {
|
||||
MvpRef.get().showLoadings("上传中...");
|
||||
String url = OSSOperUtils.getPath(file, type);
|
||||
OSSOperUtils.newInstance().putObjectMethod(url, file.getPath(), new OSSOperUtils.OssCallback() {
|
||||
CosUploadManager.getInstance().upParameters(url,file.getPath(), new CosUploadManager.UploadCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
public void onSuccess(String url) {
|
||||
if (isViewAttach()) {
|
||||
MvpRef.get().disLoadings();
|
||||
MvpRef.get().upLoadSuccess(OSSOperUtils.AliYunOSSURLFile + url, type, index, size);
|
||||
MvpRef.get().upLoadSuccess(url, type, index, size);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail() {
|
||||
if (isViewAttach()) {
|
||||
ToastUtils.show("上传失败");
|
||||
MvpRef.get().disLoadings();
|
||||
}
|
||||
public void onFailure(Exception e) {
|
||||
ToastUtils.show("上传失败");
|
||||
MvpRef.get().disLoadings();
|
||||
}
|
||||
});
|
||||
// OSSOperUtils.newInstance().putObjectMethod(url, file.getPath(), new OSSOperUtils.OssCallback() {
|
||||
// @Override
|
||||
// public void onSuccess() {
|
||||
// if (isViewAttach()) {
|
||||
// MvpRef.get().disLoadings();
|
||||
// MvpRef.get().upLoadSuccess(OSSOperUtils.AliYunOSSURLFile + url, type, index, size);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onFail() {
|
||||
// if (isViewAttach()) {
|
||||
// ToastUtils.show("上传失败");
|
||||
// MvpRef.get().disLoadings();
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
}
|
||||
public void batchUploadFiles(List<File> files, int type) {
|
||||
for (int i = 0; i < files.size(); i++) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.bean.AlbumBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
import com.xscm.moduleutil.utils.cos.CosUploadManager;
|
||||
import com.xscm.moduleutil.utils.oss.OSSOperUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -54,23 +55,39 @@ public class MyAlbumPresenter extends BasePresenter<MyAlbumConacts.View> impleme
|
||||
public void uploadFile(File file, int type) {
|
||||
MvpRef.get().showLoadings("上传中...");
|
||||
String url = OSSOperUtils.getPath(file, type);
|
||||
OSSOperUtils.newInstance().putObjectMethod(url, file.getPath(), new OSSOperUtils.OssCallback() {
|
||||
CosUploadManager.getInstance().upParameters(url,file.getPath(), new CosUploadManager.UploadCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
public void onSuccess(String url) {
|
||||
if (isViewAttach()) {
|
||||
MvpRef.get().disLoadings();
|
||||
MvpRef.get().upLoadSuccess(OSSOperUtils.AliYunOSSURLFile + url, type);
|
||||
MvpRef.get().upLoadSuccess(url, type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail() {
|
||||
if (isViewAttach()) {
|
||||
ToastUtils.show("上传失败");
|
||||
MvpRef.get().disLoadings();
|
||||
}
|
||||
public void onFailure(Exception e) {
|
||||
ToastUtils.show("上传失败");
|
||||
MvpRef.get().disLoadings();
|
||||
}
|
||||
});
|
||||
// OSSOperUtils.newInstance().putObjectMethod(url, file.getPath(), new OSSOperUtils.OssCallback() {
|
||||
// @Override
|
||||
// public void onSuccess() {
|
||||
// if (isViewAttach()) {
|
||||
// MvpRef.get().disLoadings();
|
||||
// MvpRef.get().upLoadSuccess(OSSOperUtils.AliYunOSSURLFile + url, type);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onFail() {
|
||||
// if (isViewAttach()) {
|
||||
// ToastUtils.show("上传失败");
|
||||
// MvpRef.get().disLoadings();
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -8,13 +8,18 @@ import com.xscm.moduleutil.bean.MyBagDataBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class MyBagPresenter extends BasePresenter<MyBagConacts.View> implements MyBagConacts.IMePre {
|
||||
|
||||
MyBagConacts.View mView;
|
||||
|
||||
public MyBagPresenter(MyBagConacts.View view, Context context) {
|
||||
super(view, context);
|
||||
this.mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -27,7 +32,11 @@ public class MyBagPresenter extends BasePresenter<MyBagConacts.View> implements
|
||||
|
||||
@Override
|
||||
public void onNext(List<MyBagDataBean> myBagDataBeans) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().packIncome(myBagDataBeans);
|
||||
MvpRef.get().finishRefreshLoadMore();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -42,6 +51,9 @@ public class MyBagPresenter extends BasePresenter<MyBagConacts.View> implements
|
||||
|
||||
@Override
|
||||
public void onNext(List<MyBagDataBean> myBagDataBeans) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().packOutcome(myBagDataBeans);
|
||||
}
|
||||
});
|
||||
@@ -58,6 +70,9 @@ public class MyBagPresenter extends BasePresenter<MyBagConacts.View> implements
|
||||
|
||||
@Override
|
||||
public void onNext(List<GiftPackBean> giftPackBeans) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().giftPack(giftPackBeans);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.Context;
|
||||
|
||||
import com.example.modulevocal.conacts.MyMoneyConactos;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
@@ -44,4 +45,19 @@ public class MyMoneyPresenter extends BasePresenter<MyMoneyConactos.View> implem
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getMyInfo() {
|
||||
api.getMyInfo(new BaseObserver<UserInfo>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(UserInfo userInfo) {
|
||||
MvpRef.get().myInfoSuccess(userInfo);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,15 +3,18 @@ package com.example.modulevocal.presenter;
|
||||
import android.content.Context;
|
||||
|
||||
import com.example.modulevocal.conacts.PhoneReplacementConacts;
|
||||
import com.xscm.moduleutil.bean.UserBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementConacts.View> implements PhoneReplacementConacts.IMePre{
|
||||
public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementConacts.View> implements PhoneReplacementConacts.IMePre {
|
||||
PhoneReplacementConacts.View mView;
|
||||
|
||||
public PhoneReplacementPresenter(PhoneReplacementConacts.View view, Context context) {
|
||||
super(view, context);
|
||||
this.mView = view;
|
||||
@@ -19,7 +22,7 @@ public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementCon
|
||||
|
||||
@Override
|
||||
public void sendCode(String phoneNumber, String type) {
|
||||
api.sendCode(phoneNumber,type, new BaseObserver<Object>() {
|
||||
api.sendCode(phoneNumber, type, new BaseObserver<Object>() {
|
||||
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
@@ -28,8 +31,8 @@ public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementCon
|
||||
|
||||
@Override
|
||||
public void onNext(Object o) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().sendCodeSuccess1(phoneNumber);
|
||||
}
|
||||
@@ -38,23 +41,26 @@ public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementCon
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mobileView(String mobile, String new_mobile, String sms_code,String type) {
|
||||
if (type.equals("1")){
|
||||
public void mobileView(String mobile, String new_mobile, String sms_code, String type) {
|
||||
if (type.equals("1")) {
|
||||
api.mobileView(mobile, new_mobile, sms_code, new BaseObserver<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable( d);
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
UserBean userInfo = SpUtil.getUserBean();
|
||||
userInfo.setMobile(new_mobile);
|
||||
SpUtil.saveUserBean(userInfo);
|
||||
MvpRef.get().sendCodeSuccess(s);
|
||||
}
|
||||
});
|
||||
}else if (type.equals("2")){
|
||||
} else if (type.equals("2")) {
|
||||
api.mobileView2(new_mobile, sms_code, new BaseObserver<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
@@ -63,9 +69,12 @@ public class PhoneReplacementPresenter extends BasePresenter<PhoneReplacementCon
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
UserBean userInfo = SpUtil.getUserBean();
|
||||
userInfo.setMobile(new_mobile);
|
||||
SpUtil.saveUserBean(userInfo);
|
||||
MvpRef.get().sendCodeSuccess(s);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -50,8 +50,8 @@ public class RechargePresenter extends BasePresenter<RechargeConactos.View> impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appPay(String user_id, String money, String coin, String type) {
|
||||
api.appPay(user_id, money, coin, type, new BaseObserver<AppPay>() {
|
||||
public void appPay(String user_id, String money, String coin, String type, String type_params, String type_id) {
|
||||
api.appPay(user_id, money, coin, type,type_params,type_id, new BaseObserver<AppPay>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
@@ -65,6 +65,8 @@ public class RechargePresenter extends BasePresenter<RechargeConactos.View> impl
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void bindType(String userId) {
|
||||
api.bindType(userId, new BaseObserver<BindType>() {
|
||||
|
||||
@@ -8,13 +8,16 @@ import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class UserHomepagePresenter extends BasePresenter<UserHomepageConacts.View> implements UserHomepageConacts.IMePre {
|
||||
UserHomepageConacts.View mView;
|
||||
public UserHomepagePresenter(UserHomepageConacts.View view, Context context) {
|
||||
super(view, context);
|
||||
this.mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -27,6 +30,9 @@ public class UserHomepagePresenter extends BasePresenter<UserHomepageConacts.Vie
|
||||
|
||||
@Override
|
||||
public void onNext(UserInfo userInfo) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().setUserDetails(userInfo);
|
||||
}
|
||||
});
|
||||
@@ -43,6 +49,9 @@ public class UserHomepagePresenter extends BasePresenter<UserHomepageConacts.Vie
|
||||
|
||||
@Override
|
||||
public void onNext(List<CircleListBean> circleListBeans) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().setCircleList(circleListBeans);
|
||||
}
|
||||
});
|
||||
@@ -58,6 +67,9 @@ public class UserHomepagePresenter extends BasePresenter<UserHomepageConacts.Vie
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().userGuanzSuccess(s);
|
||||
}
|
||||
});
|
||||
@@ -74,6 +86,9 @@ public class UserHomepagePresenter extends BasePresenter<UserHomepageConacts.Vie
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef==null){
|
||||
MvpRef=new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().setLikeZone();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.example.modulevocal.presenter;
|
||||
import android.content.Context;
|
||||
|
||||
import com.example.modulevocal.conacts.WithdrawalConacts;
|
||||
import com.xscm.moduleutil.bean.BindDetail;
|
||||
import com.xscm.moduleutil.bean.BindType;
|
||||
import com.xscm.moduleutil.bean.WalletBean;
|
||||
import com.xscm.moduleutil.bean.WalletConfig;
|
||||
@@ -10,13 +11,18 @@ import com.xscm.moduleutil.bean.WithdrawalBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> implements WithdrawalConacts.IMePre {
|
||||
|
||||
WithdrawalConacts.View mView;
|
||||
|
||||
public WithdrawalPresenter(WithdrawalConacts.View view, Context context) {
|
||||
super(view, context);
|
||||
this.mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -29,6 +35,9 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
|
||||
|
||||
@Override
|
||||
public void onNext(WalletBean walletBean) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().wallet(walletBean);
|
||||
}
|
||||
});
|
||||
@@ -44,6 +53,9 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
|
||||
|
||||
@Override
|
||||
public void onNext(BindType bindType) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().bindType(bindType);
|
||||
}
|
||||
});
|
||||
@@ -59,6 +71,9 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
|
||||
|
||||
@Override
|
||||
public void onNext(WalletConfig walletConfig) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().getWalletConfig(walletConfig);
|
||||
}
|
||||
});
|
||||
@@ -74,6 +89,9 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().bind();
|
||||
}
|
||||
});
|
||||
@@ -81,7 +99,7 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
|
||||
|
||||
@Override
|
||||
public void sendCode(String phoneNumber, int type) {
|
||||
api.sendCode(phoneNumber,type+"", new BaseObserver<Object>() {
|
||||
api.sendCode(phoneNumber, type + "", new BaseObserver<Object>() {
|
||||
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
@@ -98,7 +116,7 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
|
||||
|
||||
@Override
|
||||
public void withdrawal(String number, String type, String sms_code) {
|
||||
api.withdrawal(number,type,sms_code, new BaseObserver<String>() {
|
||||
api.withdrawal(number, type, sms_code, new BaseObserver<String>() {
|
||||
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
@@ -107,6 +125,9 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().withdrawal(s);
|
||||
}
|
||||
});
|
||||
@@ -122,7 +143,29 @@ public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> i
|
||||
|
||||
@Override
|
||||
public void onNext(List<WithdrawalBean> withdrawalBeans) {
|
||||
MvpRef.get().withdrawalList(withdrawalBeans);
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().withdrawalList(withdrawalBeans);
|
||||
MvpRef.get().finishRefreshLoadMore();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindDetai(String userId, String type) {
|
||||
api.bindDetai(userId, type, new BaseObserver<BindDetail>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(BindDetail bindDetail) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().bindDetai(bindDetail);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10,23 +10,24 @@
|
||||
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.xscm.moduleutil.widget.CustomTopBar
|
||||
android:id="@+id/top_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycle_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/top_bar"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</LinearLayout>
|
||||
</layout>
|
||||
@@ -93,7 +93,7 @@
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/bg_r100_hui"
|
||||
android:gravity="center|left"
|
||||
android:hint="请输入昵称"
|
||||
android:hint="请输入房间名称"
|
||||
android:maxLength="10"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="@dimen/dp_10"
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
android:layout_centerInParent="true"
|
||||
android:hint="请输入需要兑换的钻石数量"
|
||||
android:textColorHint="@color/color_FF999999"
|
||||
android:inputType="number|numberDecimal"
|
||||
android:inputType="number"
|
||||
android:textSize="@dimen/sp_14"/>
|
||||
|
||||
<TextView
|
||||
@@ -127,7 +127,7 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:text="全部提现"
|
||||
android:text="全部兑换"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:textColor="#0DFB89"
|
||||
/>
|
||||
|
||||
@@ -3,27 +3,28 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context=".activity.EditUserActivity">
|
||||
|
||||
<data>
|
||||
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.xscm.moduleutil.widget.CustomTopBar
|
||||
android:id="@+id/top_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.stx.xhb.xbanner.XBanner
|
||||
android:id="@+id/xbanner"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_230"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
@@ -31,8 +32,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_122"
|
||||
android:background="@drawable/bg_r16_fff"
|
||||
app:layout_constraintTop_toBottomOf="@+id/top_bar"
|
||||
android:orientation="vertical">
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintTop_toBottomOf="@+id/top_bar">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_1"
|
||||
@@ -40,42 +41,42 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_84"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_marginEnd="@dimen/dp_84"
|
||||
android:text="@string/avatar_change_info"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:layout_marginTop="@dimen/dp_40"/>
|
||||
android:visibility="invisible"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/rl_1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_36"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:gravity="center|center_vertical"
|
||||
android:layout_marginTop="@dimen/dp_10">
|
||||
android:gravity="center|center_vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_56"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:text="@string/nickname"
|
||||
android:gravity="center|left"
|
||||
android:layout_centerInParent="true"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:layout_alignParentStart="true"
|
||||
/>
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center|left"
|
||||
android:text="@string/nickname"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_nick_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
tools:text="姓名"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:layout_centerInParent="true"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:layout_centerHorizontal="true"
|
||||
/>
|
||||
android:gravity="center"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_16"
|
||||
tools:text="姓名" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
@@ -83,7 +84,7 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:src="@drawable/detail_icon_go"/>
|
||||
android:src="@drawable/detail_icon_go" />
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -91,32 +92,31 @@
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_36"
|
||||
android:gravity="center|center_vertical"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10">
|
||||
android:gravity="center|center_vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_56"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:text="@string/gender"
|
||||
android:gravity="center|left"
|
||||
android:layout_centerInParent="true"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:layout_alignParentStart="true"
|
||||
/>
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center|left"
|
||||
android:text="@string/gender"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sex"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
tools:text="男"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:layout_centerInParent="true"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:layout_centerHorizontal="true"
|
||||
/>
|
||||
android:gravity="center"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_16"
|
||||
tools:text="男" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
@@ -124,7 +124,8 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:src="@drawable/detail_icon_go"/>
|
||||
android:src="@drawable/detail_icon_go"
|
||||
android:visibility="invisible"/>
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -133,32 +134,31 @@
|
||||
android:id="@+id/rl_3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_36"
|
||||
android:gravity="center|center_vertical"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10">
|
||||
android:gravity="center|center_vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_56"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:text="@string/birthday"
|
||||
android:gravity="center|left"
|
||||
android:layout_centerInParent="true"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:layout_alignParentStart="true"
|
||||
/>
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center|left"
|
||||
android:text="@string/birthday"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sr"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
tools:text="2020-11-09"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:layout_centerInParent="true"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:layout_centerHorizontal="true"
|
||||
/>
|
||||
android:gravity="center"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_16"
|
||||
tools:text="2020-11-09" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
@@ -166,7 +166,7 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:src="@drawable/detail_icon_go"/>
|
||||
android:src="@drawable/detail_icon_go" />
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -175,32 +175,31 @@
|
||||
android:id="@+id/rl_4"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_36"
|
||||
android:gravity="center|center_vertical"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10">
|
||||
android:gravity="center|center_vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_56"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:text="@string/introduction"
|
||||
android:gravity="center|left"
|
||||
android:layout_centerInParent="true"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:layout_alignParentStart="true"
|
||||
/>
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center|left"
|
||||
android:text="@string/introduction"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_jj"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
tools:text="测试数据"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:layout_centerInParent="true"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:layout_centerHorizontal="true"
|
||||
/>
|
||||
android:gravity="center"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_16"
|
||||
tools:text="测试数据" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
@@ -208,7 +207,7 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:src="@drawable/detail_icon_go"/>
|
||||
android:src="@drawable/detail_icon_go" />
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -223,36 +222,41 @@
|
||||
android:id="@+id/tv_5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:text="@string/background_image"
|
||||
android:gravity="center"
|
||||
android:layout_centerInParent="true"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:text="@string/background_image"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_16"
|
||||
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:text="@string/upload_limit"
|
||||
android:gravity="center"
|
||||
android:layout_toRightOf="@+id/tv_5"
|
||||
android:layout_marginStart="@dimen/dp_5"
|
||||
android:layout_centerInParent="true"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:layout_marginStart="@dimen/dp_5"
|
||||
android:layout_toRightOf="@+id/tv_5"
|
||||
android:gravity="center"
|
||||
android:text="@string/upload_limit"
|
||||
android:textColor="@color/color_FF666666"
|
||||
/>
|
||||
android:textSize="@dimen/sp_12" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_photo_wall"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_16" />
|
||||
<!-- <androidx.core.widget.NestedScrollView-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="match_parent">-->
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_photo_wall"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
android:layout_marginEnd="@dimen/dp_16" />
|
||||
<!-- </androidx.core.widget.NestedScrollView>-->
|
||||
</LinearLayout>
|
||||
|
||||
<com.xscm.moduleutil.widget.GifAvatarOvalView
|
||||
@@ -260,11 +264,11 @@
|
||||
android:layout_width="@dimen/dp_74"
|
||||
android:layout_height="@dimen/dp_74"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@mipmap/me_img_upld_head"
|
||||
app:layout_constraintTop_toBottomOf="@+id/top_bar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_79"
|
||||
android:src="@mipmap/me_img_upld_head"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/top_bar"
|
||||
app:riv_oval="true" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
@@ -63,7 +63,6 @@
|
||||
android:background="@mipmap/mony_cz"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="@dimen/dp_5"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -107,7 +106,6 @@
|
||||
android:background="@mipmap/mony_tx"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="@dimen/dp_5"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -138,7 +136,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_zd">
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_56"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
@@ -170,7 +168,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/r_1">
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_56"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:text="@string/diamond_income_expense"
|
||||
android:layout_centerInParent="true"
|
||||
@@ -214,7 +212,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_qt">
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_56"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:text="@string/diamond_to_coin"
|
||||
android:layout_centerInParent="true"
|
||||
@@ -247,7 +245,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/r_3">
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_56"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:text="@string/diamond_to_bangka"
|
||||
android:layout_centerInParent="true"
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/ccl"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
@@ -85,7 +86,8 @@
|
||||
<com.tencent.qgame.animplayer.AnimView
|
||||
android:id="@+id/item_animview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -118,6 +120,11 @@
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toBottomOf="@+id/cl_2" />
|
||||
|
||||
<com.xscm.moduleutil.widget.GiftAnimView
|
||||
android:id="@+id/image_headPortrait2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_60"
|
||||
|
||||
@@ -87,7 +87,6 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:nestedScrollingEnabled="false" />
|
||||
|
||||
<RelativeLayout
|
||||
@@ -96,7 +95,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginEnd="@dimen/dp_16">
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/t_4"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginStart="@dimen/dp_14"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:text="累计收益"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="12sp" />
|
||||
@@ -70,7 +70,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:gravity="center">
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
android:layout_below="@+id/tv1"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:drawableLeft="@mipmap/im_zs"
|
||||
android:drawablePadding="@dimen/dp_5"
|
||||
android:text="10000"
|
||||
@@ -133,7 +133,6 @@
|
||||
android:layout_below="@+id/tv3"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginStart="@dimen/dp_14"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:text="累计流水"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="12sp" />
|
||||
@@ -145,6 +144,7 @@
|
||||
android:layout_below="@+id/tv4"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_3"
|
||||
android:paddingBottom="@dimen/dp_3"
|
||||
android:drawableLeft="@mipmap/jinb"
|
||||
android:text="10000"
|
||||
android:textColor="@color/color_FF333333"
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
android:id="@+id/ll_youth"
|
||||
style="@style/My_Info_Item_LL_Style"
|
||||
android:background="@drawable/bg_r15_white"
|
||||
android:visibility="gone"
|
||||
>
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -78,13 +78,14 @@
|
||||
android:id="@+id/text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="忘记密码?请联系客服"
|
||||
android:text="确认"
|
||||
android:textColor="#0DFFB9"
|
||||
app:layout_constraintTop_toBottomOf="@+id/rel_code_show"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:visibility="gone"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -18,74 +18,91 @@
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/rl3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintTop_toBottomOf="@+id/top_bar"
|
||||
>
|
||||
<LinearLayout
|
||||
android:id="@+id/rl3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_38"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:background="@drawable/bg_r5_e9e9"
|
||||
android:gravity="center">
|
||||
android:layout_height="@dimen/dp_38"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:background="@drawable/bg_r5_e9e9"
|
||||
android:gravity="center"
|
||||
app:layout_constraintTop_toBottomOf="@+id/top_bar">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_12"
|
||||
android:text="开始日期"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="0.2"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
|
||||
android:paddingTop="@dimen/dp_3"
|
||||
android:src="@mipmap/data1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv22"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:text="结束日期"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="0.2"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:src="@mipmap/data2" />
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/revenue_view"
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/tv2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:background="@color/color_FFF5F5F5"
|
||||
android:orientation="vertical"
|
||||
tools:listitem="@layout/item_revenue" />
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
android:layout_marginStart="@dimen/dp_12"
|
||||
android:layout_weight="1"
|
||||
android:text="开始日期"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="12sp" />
|
||||
|
||||
</layout>
|
||||
<ImageView
|
||||
android:id="@+id/iv1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_weight="0.2"
|
||||
|
||||
android:paddingTop="@dimen/dp_3"
|
||||
android:src="@mipmap/data1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv22"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_weight="1"
|
||||
android:text="结束日期"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_weight="0.2"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:src="@mipmap/data2" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.scwang.smartrefresh.layout.SmartRefreshLayout
|
||||
android:id="@+id/smart_refresh_layout"
|
||||
android:layout_width="match_parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/rl3"
|
||||
app:srlEnableLoadMore="true"
|
||||
app:srlEnableRefresh="true">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/revenue_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:background="@color/color_FFF5F5F5"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:listitem="@layout/item_revenue" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
@@ -1,16 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
>
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
<com.scwang.smartrefresh.layout.SmartRefreshLayout
|
||||
android:id="@+id/smart_refresh_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/recyclerView"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:overScrollMode="never"
|
||||
android:scrollbars="none"
|
||||
android:background="@drawable/bg_r10_white"
|
||||
/>
|
||||
android:layout_height="match_parent"
|
||||
app:srlEnableLoadMore="true"
|
||||
app:srlEnableRefresh="true">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@drawable/bg_r10_white"
|
||||
android:overScrollMode="never"
|
||||
android:scrollbars="none" />
|
||||
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
|
||||
|
||||
</layout>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context=".fragment.RevenueFragment">
|
||||
|
||||
|
||||
@@ -11,35 +11,36 @@
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/rl3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_38"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:background="@drawable/bg_r5_e9e9"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_12"
|
||||
android:text="开始日期"
|
||||
android:layout_weight="1"
|
||||
android:hint="开始日期"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="12sp" />
|
||||
android:textSize="12sp"
|
||||
tools:text="开始日期" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="0.2"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_weight="0.2"
|
||||
|
||||
android:paddingTop="@dimen/dp_3"
|
||||
android:src="@mipmap/data1" />
|
||||
@@ -47,23 +48,28 @@
|
||||
<TextView
|
||||
android:id="@+id/tv22"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:text="结束日期"
|
||||
android:layout_weight="1"
|
||||
android:hint="结束日期"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="12sp" />
|
||||
android:textSize="12sp"
|
||||
tools:text="结束日期" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="0.2"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_weight="0.2"
|
||||
android:paddingTop="@dimen/dp_2"
|
||||
android:src="@mipmap/data2" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- <androidx.core.widget.NestedScrollView-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="match_parent">-->
|
||||
|
||||
<com.scwang.smartrefresh.layout.SmartRefreshLayout
|
||||
android:id="@+id/smart_refresh_layout"
|
||||
android:layout_width="match_parent"
|
||||
@@ -71,18 +77,32 @@
|
||||
app:srlEnableLoadMore="true"
|
||||
app:srlEnableRefresh="true">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/revenue_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:background="@color/color_FFF5F5F5"
|
||||
android:orientation="vertical"
|
||||
tools:listitem="@layout/item_revenue" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/revenue_view"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginBottom="0dp"
|
||||
android:background="@color/color_FFF5F5F5"
|
||||
android:clipToPadding="false"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:listitem="@layout/item_revenue" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
|
||||
<!-- </androidx.core.widget.NestedScrollView>-->
|
||||
</LinearLayout>
|
||||
|
||||
</layout>
|
||||
@@ -33,7 +33,7 @@
|
||||
android:layout_width="@dimen/dp_24"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:layout_marginRight="@dimen/dp_11"
|
||||
android:src="@mipmap/image_yq" />
|
||||
android:src="@drawable/image_yq" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_kf"
|
||||
@@ -41,7 +41,7 @@
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:layout_marginRight="@dimen/dp_11"
|
||||
android:layout_toRightOf="@+id/iv_hb"
|
||||
android:src="@mipmap/custom" />
|
||||
android:src="@drawable/custom" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_sz"
|
||||
@@ -69,6 +69,7 @@
|
||||
android:layout_height="@dimen/dp_68"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_88"
|
||||
android:paddingStart="@dimen/dp_16"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center|left"
|
||||
android:orientation="horizontal"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_38"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
|
||||
@@ -10,12 +10,19 @@
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="@dimen/dp_200"
|
||||
android:layout_height="@dimen/dp_20"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textColor="@color/color_FF333333"
|
||||
|
||||
android:ellipsize="marquee"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
tools:text="每日签到"
|
||||
/>
|
||||
<TextView
|
||||
|
||||
@@ -8,62 +8,61 @@
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginBottom="@dimen/dp_10">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
<com.xscm.moduleutil.widget.GifAvatarOvalView
|
||||
android:id="@+id/task_pic"
|
||||
android:layout_width="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_40"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@mipmap/task_lock"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/task_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
android:layout_marginStart="@dimen/dp_2"
|
||||
android:layout_marginEnd="@dimen/dp_8"
|
||||
android:text="任务名称"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintEnd_toStartOf="@+id/task_type"
|
||||
app:layout_constraintStart_toEndOf="@id/task_pic"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.xscm.moduleutil.widget.GifAvatarOvalView
|
||||
android:id="@+id/task_pic"
|
||||
android:layout_width="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_40"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:src="@mipmap/task_lock"
|
||||
android:scaleType="fitCenter"/>
|
||||
<TextView
|
||||
android:id="@+id/task_jb"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:layout_marginStart="@dimen/dp_2"
|
||||
android:text="金币"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintStart_toEndOf="@id/task_pic"
|
||||
app:layout_constraintTop_toBottomOf="@id/task_name" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/task_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:layout_marginStart="@dimen/dp_2"
|
||||
android:layout_toEndOf="@id/task_pic"
|
||||
android:text="任务名称"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
<TextView
|
||||
android:id="@+id/task_jb_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:text="+10"
|
||||
android:textColor="#FF8827"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintStart_toEndOf="@id/task_jb"
|
||||
app:layout_constraintTop_toBottomOf="@id/task_name" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/task_jb"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:layout_below="@id/task_name"
|
||||
android:layout_marginStart="@dimen/dp_2"
|
||||
android:layout_toEndOf="@id/task_pic"
|
||||
android:text="金币"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
<TextView
|
||||
android:id="@+id/task_type"
|
||||
android:layout_width="@dimen/dp_60"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:gravity="center"
|
||||
android:textColor="#C134EE"
|
||||
android:background="@drawable/bg_r99_e24171"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/task_jb_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:layout_below="@id/task_name"
|
||||
android:layout_toEndOf="@id/task_jb"
|
||||
android:text="+10"
|
||||
android:textColor="#FF8827"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/task_type"
|
||||
android:layout_width="@dimen/dp_60"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:textColor="#C134EE"
|
||||
android:background="@drawable/bg_r99_e24171" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -1,64 +1,164 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:background="@drawable/bg_r16_fff"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
app:layout_constraintBottom_toBottomOf="@+id/cl_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/cl_bg"
|
||||
android:id="@+id/im_x"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/cl_bg" />
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:paddingBottom="@dimen/dp_10"
|
||||
android:id="@+id/cl_bg"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
||||
<!-- 提现金额 -->
|
||||
<TextView
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:id="@+id/tv_amount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_21"
|
||||
android:layout_marginStart="@dimen/dp_13"
|
||||
android:layout_marginTop="@dimen/dp_14"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="提现金额" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:id="@+id/tv_amount_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_20"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_13"
|
||||
android:textColor="@color/color_ff2727"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_amount"
|
||||
tools:text="142.12" />
|
||||
|
||||
<!-- 手续费 -->
|
||||
<TextView
|
||||
android:id="@+id/tv_fee"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_13"
|
||||
android:textColor="@color/color_FF666666"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_amount"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_amount"
|
||||
tools:text="手续费" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_fee_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_13"
|
||||
android:textColor="@color/color_FF666666"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_amount_value"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_fee"
|
||||
tools:text="3.21" />
|
||||
|
||||
<!-- 个人所得税 -->
|
||||
<TextView
|
||||
android:id="@+id/tv_tax"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:textColor="@color/color_FF666666"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_fee"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_fee"
|
||||
tools:text="个人所得税" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tax_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_13"
|
||||
android:textColor="@color/color_666666"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_fee_value"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_tax"
|
||||
tools:text="计算中..." />
|
||||
|
||||
<View
|
||||
android:id="@+id/view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_1"
|
||||
android:layout_marginStart="@dimen/dp_13"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginEnd="@dimen/dp_13"
|
||||
android:background="#F1F2F3"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_tax_value"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_tax"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_tax" />
|
||||
|
||||
<!-- 预计到账 -->
|
||||
<TextView
|
||||
android:id="@+id/tv_expected"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_13"
|
||||
android:textColor="@color/color_FF333333"
|
||||
tools:text="每日签到"
|
||||
/>
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_tax"
|
||||
app:layout_constraintTop_toBottomOf="@id/view"
|
||||
|
||||
tools:text="预计到账(个税扣除前)" />
|
||||
|
||||
<TextView
|
||||
|
||||
android:id="@+id/tv_expected_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_13"
|
||||
android:textColor="@color/color_black"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_expected"
|
||||
tools:text="138.91" />
|
||||
|
||||
<!-- 时间 -->
|
||||
<TextView
|
||||
android:id="@+id/tv_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_17"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_name"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_7"
|
||||
android:textColor="@color/color_FF999999"
|
||||
tools:text="2025-5-27 16:43:09"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_jb"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:textColor="@color/color_ff2727"
|
||||
tools:text="+10"
|
||||
/>
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_expected"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_expected"
|
||||
tools:text="2024.12.14 11:21:45" />
|
||||
|
||||
<!-- 状态 -->
|
||||
<TextView
|
||||
android:id="@+id/tv_status"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_13"
|
||||
android:textColor="#0DFFB9"
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:textColor="@color/color_ff2727"
|
||||
tools:text="待处理"
|
||||
/>
|
||||
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_1"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_time"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:background="#F1F2F3"
|
||||
/>
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_time"
|
||||
tools:text="待处理" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -14,23 +14,22 @@
|
||||
android:background="#fff"
|
||||
tools:visibility="visible">
|
||||
|
||||
<!-- <androidx.core.widget.NestedScrollView-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:paddingBottom="@dimen/dp_20">-->
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/dp_20">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:nestedScrollingEnabled="false"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_title"
|
||||
app:spanCount="4"
|
||||
tools:listitem="@layout/me_item_user_gift_wall" />
|
||||
|
||||
<!-- </androidx.core.widget.NestedScrollView>-->
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
@@ -2,19 +2,21 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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="@dimen/dp_77"
|
||||
android:layout_height="@dimen/dp_129"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_110"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:background="@mipmap/gift_bj"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:background="#E9E9E9"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
android:orientation="vertical"
|
||||
>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl_iv_down_on"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:ignore="MissingConstraints">
|
||||
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
|
||||
<!-- android:id="@+id/cl_iv_down_on"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="match_parent"-->
|
||||
<!-- tools:ignore="MissingConstraints">-->
|
||||
|
||||
|
||||
<ImageView
|
||||
@@ -30,24 +32,21 @@
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:alpha="0.5"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_gift_pic_overlay"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginLeft="9dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginRight="9dp"
|
||||
app:layout_constraintDimensionRatio="1:1.2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:alpha="0.3"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:alpha="0.5"
|
||||
android:background="#40000000"
|
||||
|
||||
tools:visibility="visible"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
@@ -90,47 +89,20 @@
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/iv_gift_pic"
|
||||
app:layout_constraintRight_toRightOf="@+id/iv_gift_pic"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_gift_name" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_gift_name"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
|
||||
|
||||
<!-- <RelativeLayout-->
|
||||
<!-- android:id="@+id/rl_user_head"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="0dp"-->
|
||||
<!-- android:padding="@dimen/dp_2"-->
|
||||
<!-- app:layout_constraintDimensionRatio="1:1"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||
<!-- android:visibility="gone">-->
|
||||
|
||||
<!-- <com.makeramen.roundedimageview.RoundedImageView-->
|
||||
<!-- android:id="@+id/riv_user_head"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="match_parent"-->
|
||||
<!-- app:riv_corner_radius="@dimen/dp_13"-->
|
||||
<!-- tools:src="@color/color_FF5872FF" />-->
|
||||
|
||||
<!-- </RelativeLayout>-->
|
||||
|
||||
<!-- <TextView-->
|
||||
<!-- android:id="@+id/tv_gift_name"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="@dimen/dp_2"-->
|
||||
<!-- android:text="冲浪少年"-->
|
||||
<!-- android:textColor="@color/color_FF545454"-->
|
||||
<!-- android:textSize="@dimen/sp_11"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="@+id/rl_user_head"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="@+id/rl_user_head"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/rl_user_head" />-->
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_number"
|
||||
android:layout_width="@dimen/dp_22"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_15"
|
||||
android:background="@mipmap/text_bj"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:paddingLeft="3dp"
|
||||
android:paddingRight="3dp"
|
||||
android:textColor="@color/black"
|
||||
@@ -141,45 +113,11 @@
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_gift_user_list"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<!-- <LinearLayout-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:orientation="horizontal"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="@+id/rl_user_head"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="@+id/rl_user_head"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/tv_gift_name">-->
|
||||
<!-- <TextView-->
|
||||
<!-- android:id="@+id/tv_price33"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="2dp"-->
|
||||
<!-- android:text="10000"-->
|
||||
<!-- android:textColor="@color/color_FFFFBC00"-->
|
||||
<!-- android:textSize="11sp"-->
|
||||
<!-- android:drawableStart="@mipmap/jinb"-->
|
||||
<!-- />-->
|
||||
<!-- <TextView-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="*"-->
|
||||
<!-- android:textColor="#9C9C9C"-->
|
||||
<!-- android:textSize="@dimen/sp_11"-->
|
||||
<!-- android:visibility="gone" />-->
|
||||
|
||||
<!-- <TextView-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="1"-->
|
||||
<!-- android:textColor="@color/color_FF7185FF"-->
|
||||
<!-- android:textSize="@dimen/sp_11"-->
|
||||
<!-- android:visibility="gone"/>-->
|
||||
<!-- </LinearLayout>-->
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -97,7 +97,7 @@
|
||||
android:id="@+id/tv_bl"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="今日收益"
|
||||
android:text="今日流水"
|
||||
android:textColor="#ff999999"
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_sy"
|
||||
@@ -179,6 +179,7 @@
|
||||
app:layout_constraintStart_toEndOf="@+id/rl_mx"
|
||||
android:gravity="center"
|
||||
android:text="房间补贴"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_gs_sx"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="@dimen/dp_91"
|
||||
android:layout_height="@dimen/dp_29"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginTop="@dimen/dp_19"
|
||||
|
||||
Reference in New Issue
Block a user