1、修改登录功能并验证,除了支付宝登录其他都已验证

2、完成个人中心的功能,个人主页完成、钱包完成、背包完成
This commit is contained in:
2025-05-22 19:03:01 +08:00
parent 25ecfc55ab
commit 314c484cea
324 changed files with 19255 additions and 476 deletions

View File

@@ -4,10 +4,63 @@
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/BaseAppTheme">
<activity
android:name=".activity.UserHomepageActivity"
android:exported="false" />
<activity
android:name=".activity.MyBagActivity"
android:exported="false" />
<activity
android:name=".activity.BriefIntroductionActivity"
android:exported="false" />
<activity
android:name=".activity.ChangeNicknameActivity"
android:exported="false" />
<activity
android:name=".activity.CurrencyExchangeActivity"
android:exported="false" />
<activity
android:name=".activity.WithdrawalActivity"
android:exported="false" />
<activity
android:name=".activity.RechargeActivity"
android:exported="false" />
<activity
android:name=".activity.MyMoneyActivity"
android:exported="false" />
<activity
android:name=".activity.EditUserInfoActivity"
android:exported="false" />
<activity
android:name=".activity.EditUserActivity"
android:exported="false" />
<activity
android:name=".activity.ChangPassActivity"
android:exported="false" />
<activity
android:name=".activity.PersonalityActivity"
android:exported="false" />
<activity
android:name=".activity.RealDetailActivity"
android:exported="false" />
<activity
android:name=".activity.RoomAllowanceDetailActivity"
android:exported="false" />
<activity
android:name=".activity.RoomAllowanceActivity"
android:exported="false" />
<activity
android:name=".activity.RoomDetailsActivity"
android:exported="false" />
<activity
android:name=".activity.CreatedRoomActivity"
android:exported="false" />
<activity
android:name=".activity.MyRoomActivity"
android:exported="false" />
<activity
android:name=".activity.RealNameActivity"
android:exported="false" />

View File

@@ -7,10 +7,17 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.BlackAdapter;
import com.example.modulevocal.databinding.ActivityBlacklistBinding;
import com.qxcm.moduleutil.activity.BaseAppCompatActivity;
import com.qxcm.moduleutil.bean.BlackUserBean;
import java.util.ArrayList;
import java.util.List;
/**
*@author
*@data
@@ -18,15 +25,52 @@ import com.qxcm.moduleutil.activity.BaseAppCompatActivity;
*/
public class BlacklistActivity extends BaseAppCompatActivity<ActivityBlacklistBinding> {
private static final String TAG = "BlacklistActivity";
private int type;//关注--黑名单--粉丝
BlackAdapter blackAdapter;
private String[] mTitles = new String[]{"关注", "黑名单", "粉丝"};
List<BlackUserBean> blackUserBeans;
@Override
protected void initData() {
blackUserBeans=new ArrayList<>();
for (int i = 0; i < 10; i++){
BlackUserBean bean=new BlackUserBean();
bean.setUserName("用户"+i);
bean.setUserId(i+"");
bean.setUserAvatar("");
bean.setType(type);
blackUserBeans.add(bean);
}
blackAdapter.setNewData(blackUserBeans);
}
@Override
protected void initView() {
mBinding.topBar.setTitle("黑名单");
type=getIntent().getIntExtra("type", 0);
mBinding.topBar.setTitle(mTitles[type]);
blackAdapter = new BlackAdapter();
mBinding.rvBlacklist.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
mBinding.rvBlacklist.setAdapter(blackAdapter);
blackAdapter.setOnItemClickListener(item -> {
int position = blackAdapter.getData().indexOf(item);
if (position == -1) return;
if (item.getType() == 0 || item.getType() == 2) {
// 类型为 关注 或 粉丝:切换 status
item.setStatus(item.getStatus() == 0 ? 1 : 0);
blackAdapter.notifyItemChanged(position);
// updateStatusOnServer(item); // 调用网络请求更新服务器
} else if (item.getType() == 1) {
// 类型为 黑名单:移除当前项
blackAdapter.getData().remove(position);
blackAdapter.notifyItemRemoved(position);
blackAdapter.notifyItemRangeChanged(position, blackAdapter.getItemCount());
// removeItemFromServer(item); // 调用网络请求删除
}
});
}
@Override

View File

@@ -0,0 +1,71 @@
package com.example.modulevocal.activity;
import android.graphics.Color;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.BriefIntroductionConacts;
import com.example.modulevocal.databinding.ActivityBriefIntroductionBinding;
import com.example.modulevocal.presenter.BriefIntroductionPresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import java.util.ArrayList;
import java.util.List;
/**
*@author qx
*@data 2025/5/22
*@description: 简介
*/
public class BriefIntroductionActivity extends BaseMvpActivity<BriefIntroductionPresenter, ActivityBriefIntroductionBinding> implements BriefIntroductionConacts.View{
private BaseQuickAdapter<String, BaseViewHolder> adapter;
@Override
protected void initData() {
mBinding.topBar.setTitle("修改简介");
mBinding.topBar.setRightTxtVisible(true);
mBinding.topBar.setRightText("保存");
mBinding.topBar.setRightColor(Color.parseColor("#FF8ACC"));
mBinding.topBar.getTvRight().setOnClickListener(v -> {
finish();
});
List<String> list = new ArrayList<>();
list.add("可盐可甜");
list.add("小甜甜");
list.add("可盐可甜");
list.add("小甜甜");
list.add("可盐可甜");
list.add("小甜甜");
mBinding.recycleView.setLayoutManager(new GridLayoutManager(this, 4));
adapter = new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_brief_introduction, list) {
@Override
protected void convert(BaseViewHolder helper, String item) {
helper.setText(R.id.tv, item);
}
};
mBinding.recycleView.setAdapter(adapter);
adapter.setNewData(list);
}
@Override
protected int getLayoutId() {
return R.layout.activity_brief_introduction;
}
@Override
protected BriefIntroductionPresenter bindPresenter() {
return new BriefIntroductionPresenter(this, this);
}
}

View File

@@ -0,0 +1,114 @@
package com.example.modulevocal.activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.ChangePasswordConactos;
import com.example.modulevocal.databinding.ActivityChangePasswordBinding;
import com.example.modulevocal.presenter.ChangePasswordPresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.UserBean;
import com.qxcm.moduleutil.utils.SpUtil;
public class ChangPassActivity extends BaseMvpActivity<ChangePasswordPresenter, ActivityChangePasswordBinding> implements ChangePasswordConactos.View {
private UserBean userBean;
private CountDownTimer mTimer;
@Override
protected void initData() {
mBinding.topBar.setTitle(getResources().getString(com.qxcm.moduleutil.R.string.set_password));
userBean = SpUtil.getUserInfo();
mBinding.tvPhoin.setText(userBean.getMobile());
mBinding.tvSendCode.setOnClickListener(this::onClick);
mBinding.btnSubmit.setOnClickListener(this::onClick);
}
private void onClick(View view) {
if (view.getId() == R.id.tv_send_code) {
sendCodeSuccess2(userBean.getMobile());
if (MvpPre != null) {
MvpPre.sendCode(userBean.getMobile(), "4");
}
}else if (view.getId() == R.id.btnSubmit) {
if (mBinding.editTextNewPassword.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入新密码");
return;
}
if (mBinding.editTextConfirmPassword.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入确认密码");
return;
}
if (!mBinding.editTextNewPassword.getText().toString().equals(mBinding.editTextConfirmPassword.getText().toString())) {
com.blankj.utilcode.util.ToastUtils.showShort("两次密码不一致");
return;
}
if (mBinding.edPassword.getText().toString().isEmpty()) {
com.blankj.utilcode.util.ToastUtils.showShort("请输入验证码");
return;
}
if (MvpPre != null) {
MvpPre.changePassword(mBinding.editTextNewPassword.getText().toString(), userBean.getMobile(), mBinding.edPassword.getText().toString(),String.valueOf(userBean.getUser_id()));
}
}
}
public void sendCodeSuccess2(String phoneNumber) {
com.blankj.utilcode.util.ToastUtils.showShort("短信验证码发送成功请注意查收");
mBinding.tvSendCode.setEnabled(false);
mBinding.tvSendCode.setAlpha(0.5f);
releaseTimer();
if (mTimer != null) {
mTimer.cancel();
}
mTimer = new CountDownTimer(60000L, 1000L) {
@Override
public void onTick(long millisUntilFinished) {
if (mBinding.tvSendCode != null) {
mBinding.tvSendCode.setText(String.format("重新发送(%s", millisUntilFinished / 1000));
}
}
@Override
public void onFinish() {
mBinding.tvSendCode.setAlpha(1f);
mBinding.tvSendCode.setEnabled(true);
mBinding.tvSendCode.setText("重新发送");
}
};
mTimer.start();
}
private void releaseTimer() {
if (mTimer != null) {
mTimer.cancel();
mTimer = null;
}
}
@Override
protected int getLayoutId() {
return R.layout.activity_change_password;
}
@Override
protected ChangePasswordPresenter bindPresenter() {
return new ChangePasswordPresenter(this, this);
}
@Override
public void sendCodeSuccess1(String phoneNumber) {
}
@Override
public void sendCodeSuccess(String s) {
finish();
}
}

View File

@@ -0,0 +1,47 @@
package com.example.modulevocal.activity;
import android.graphics.Color;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.ChangeNicknameConacts;
import com.example.modulevocal.databinding.ActivityChangeNicknameBinding;
import com.example.modulevocal.presenter.ChangeNicknamePresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
/**
*@author qx
*@data 2025/5/21
*@description: 修改昵称
*/
public class ChangeNicknameActivity extends BaseMvpActivity<ChangeNicknamePresenter, ActivityChangeNicknameBinding> implements ChangeNicknameConacts.View {
@Override
protected void initData() {
mBinding.topBar.setTitle("修改昵称");
mBinding.topBar.setRightTxtVisible(true);
mBinding.topBar.setRightText("保存");
mBinding.topBar.setRightColor(Color.parseColor("#FF8ACC"));
mBinding.topBar.getTvRight().setOnClickListener(v -> {
finish();
});
}
@Override
protected int getLayoutId() {
return R.layout.activity_change_nickname;
}
@Override
protected ChangeNicknamePresenter bindPresenter() {
return new ChangeNicknamePresenter(this, this);
}
}

View File

@@ -1,32 +0,0 @@
package com.example.modulevocal.activity;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.modulevocal.R;
import com.example.modulevocal.databinding.ActivityChangePasswordBinding;
import com.qxcm.moduleutil.activity.BaseAppCompatActivity;
public class ChangePasswordActivity extends BaseAppCompatActivity<ActivityChangePasswordBinding> {
@Override
protected void initData() {
}
@Override
protected void initView() {
mBinding.topBar.setTitle("设置密码");
}
@Override
protected int getLayoutId() {
return R.layout.activity_change_password;
}
}

View File

@@ -0,0 +1,256 @@
package com.example.modulevocal.activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import com.bumptech.glide.Glide;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.CreatedRoomConactos;
import com.example.modulevocal.databinding.ActivityCreatedRoomBinding;
import com.example.modulevocal.presenter.CreatedRoomPresenter;
import com.example.zhouwei.library.CustomPopWindow;
import com.hjq.toast.ToastUtils;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.CheckTxtResp;
import com.qxcm.moduleutil.utils.GlideEngine;
import com.qxcm.moduleutil.utils.MyPictureParameterStyle;
import com.qxcm.moduleutil.widget.Constants;
import java.io.File;
import java.util.List;
/**
*@author
*@data 2025/5/15
*@description: 创建房间
*/
public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, ActivityCreatedRoomBinding> implements CreatedRoomConactos.View {
private String roomName;
public String from;
private String roomUrl;
final int maxNum = 120;
CustomPopWindow popupWindow;
private Handler handler = new Handler(Looper.getMainLooper());
private boolean isShowing = false;
private Runnable showPopupRunnable = new Runnable() {
@Override
public void run() {
if (isShowing) {
// 隐藏 PopupWindow
if (popupWindow != null ) {
popupWindow.dissmiss();
}
isShowing = false;
} else {
// 显示 PopupWindow
if (popupWindow != null) {
// 设置动画(可选)
// 显示在 ivTrendContent 上方
popupWindow.showAtLocation(mBinding.tvSave, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 220);
}
isShowing = true;
}
// 循环执行
handler.postDelayed(this, 2000); // 每隔 3 秒切换一次
}
};
@Override
protected CreatedRoomPresenter bindPresenter() {
return new CreatedRoomPresenter(this, this);
}
@Override
protected void initData() {
// List<RoomTypeInfo> roomTypeInfos = new ArrayList<>();
// roomTypeInfos.add(new RoomTypeInfo("聊天", 23));
// roomTypeInfos.add(new RoomTypeInfo("K歌", 21));
// mRoomTypeAdapter.setNewData(roomTypeInfos);
MvpPre.roomLabel("create");
handler.post(showPopupRunnable);
}
@Override
protected void initView() {
super.initView();
mBinding.topBar.setTitle("创建房间");
mBinding.tvSave.setOnClickListener(this::onClick);
mBinding.ivTrendContent.setOnClickListener(this::onClick);
mBinding.tvSz.setText("0/"+maxNum);
mBinding.etG.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) {
if (s.length()==maxNum){
mBinding.tvSz.setText("您输入的字数已超过限制");
}else {
mBinding.tvSz.setText((maxNum - s.length())+"/"+maxNum);
}
}
});
popupWindow = new CustomPopWindow.PopupWindowBuilder(this)
.setView(R.layout.pop_layout1)//显示的布局
.create();//创建PopupWindow
mBinding.tvSave.post(() -> {
if (!isFinishing() && !isDestroyed()) {
popupWindow.showAsDropDown(mBinding.tvSave);
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
handler.removeCallbacks(showPopupRunnable);
if (popupWindow != null) {
popupWindow.dissmiss();
}
}
@Override
protected int getLayoutId() {
return R.layout.activity_created_room;
}
private long lastSaveClickTime=0;
public void onClick(View view) {
int id = view.getId();
if (id == R.id.tv_save) {
if (roomUrl==null || roomUrl.isEmpty()){
ToastUtils.show("请选择封面");
return;
}
long l = System.currentTimeMillis();
if(l-lastSaveClickTime>500){
lastSaveClickTime=l;
roomName = mBinding.edNickName.getText().toString().trim();
if (TextUtils.isEmpty(roomName)) {
ToastUtils.show("请输入房间名");
return;
}
MvpPre.checkTxt(roomName);
}
}else if (id == R.id.iv_trend_content) {
startChoosePhoto(PictureMimeType.ofImage(), PictureConfig.CHOOSE_REQUEST);
}
}
private void startChoosePhoto(int mimeType, int requestCode) {
PictureSelector.create(this)
.openGallery(mimeType)
.isGif(false)
.imageEngine(GlideEngine.createGlideEngine())
.maxSelectNum(1)
.isPreviewImage(true)
.isCamera(true)
.setOutputCameraPath(Constants.FILE_PATH)
.isCompress(true)
.setPictureStyle(MyPictureParameterStyle.Companion.selectPicture())
.forResult(requestCode); //结果回调onActivityResult code
// PictureSelector.create(this)
// .openGallery(mimeType)
// .selectionMode(PictureConfig.SINGLE)
// .maxSelectNum(1)//最大选择数量
// .minSelectNum(1)//最小选择数量
// .previewImage(false)//是否预览图片
// .isCamera(true)//是否允许使用相机
// .imageEngine(GlideEngine.createGlideEngine())
// .sizeMultiplier(0.5f)//大小倍数
// .setOutputCameraPath(Constants.FILE_PATH)//设置拍照照片存储路径
// .compress(true)//是否开启压缩
// .withAspectRatio(1, 1)
// .cropCompressQuality(Constants.CROP_COMPRESS_SIZE)// 裁剪压缩质量 默认90 int
// .minimumCompressSize(Constants.COMPRESS_INGNORE)// 小于100kb的图片不压缩
// .compressSavePath(ImageUtils.getImagePath())//压缩图保存路径
// .setPictureStyle(MyPictureParameterStyle.Companion.selectPicture())
// .isDragFrame(true)//是否允许拖动窗体
// .forResult(requestCode);//结果回调onActivityResult code
}
@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.CHOOSE_REQUEST:
List<LocalMedia> localMedia = PictureSelector.obtainMultipleResult(data);
if (localMedia != null && localMedia.size() != 0) {
LocalMedia imgMedia = localMedia.get(0);
String url;
if (imgMedia.isCompressed()) {
url = imgMedia.getCompressPath();
} else {
url = imgMedia.getRealPath();
}
MvpPre.uploadFile(new File(url), 0);
}
break;
}
}
}
@Override
public void checkTxtSuccess(CheckTxtResp result) {
if (result.getResult() == 0) {
// RoomTypeInfo roomTypeInfo = mRoomTypeAdapter.getSelect();
// MvpPre.addUserRoom(roomName, String.valueOf(roomTypeInfo.getId()),roomUrl);
} else {
ToastUtils.show("房间名称包含敏感词汇请重新输入");
}
}
@Override
public void addUserRoomSuccess(String roomId) {
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("form", "创建房间").withString("roomId", roomId).navigation();
finish();
}
@Override
public void upLoadSuccess(String url, int type) {
if (type == 0) {
roomUrl=url;
Glide.with(this).load(roomUrl).into(mBinding.ivTrendContent);
}
}
}

View File

@@ -0,0 +1,38 @@
package com.example.modulevocal.activity;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.CurrencyExchangeConacts;
import com.example.modulevocal.databinding.ActivityCurrencyExchangeBinding;
import com.example.modulevocal.presenter.CurrencyExchangePresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
/**
*@author qx
*@data 2025/5/21
*@description: 钻石兑换
*/
public class CurrencyExchangeActivity extends BaseMvpActivity<CurrencyExchangePresenter, ActivityCurrencyExchangeBinding> implements CurrencyExchangeConacts.View{
@Override
protected void initData() {
mBinding.topBar.setTitle("钻石兑换");
}
@Override
protected int getLayoutId() {
return R.layout.activity_currency_exchange;
}
@Override
protected CurrencyExchangePresenter bindPresenter() {
return new CurrencyExchangePresenter(this, this);
}
}

View File

@@ -0,0 +1,198 @@
package com.example.modulevocal.activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.UserPhotoWallAdapter;
import com.example.modulevocal.conacts.EditUserConactos;
import com.example.modulevocal.databinding.ActivityEditUserBinding;
import com.example.modulevocal.presenter.EditUserPresenter;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.UserImgList;
import com.qxcm.moduleutil.utils.DateSelectDialog;
import com.qxcm.moduleutil.utils.GlideEngine;
import com.qxcm.moduleutil.utils.ImageUtils;
import com.qxcm.moduleutil.utils.MyPictureParameterStyle;
import com.qxcm.moduleutil.widget.Constants;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author qx
* @data 2025/5/21
* @description: 编辑资料
*/
public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, ActivityEditUserBinding> implements EditUserConactos.View
, DateSelectDialog.OnSelectDate {
UserPhotoWallAdapter mUserPhotoWallAdapter;
List<UserImgList> list;
private DateSelectDialog mDateSelectDialog;
@Override
protected void initData() {
mBinding.topBar.setTitle(getResources().getString(com.qxcm.moduleutil.R.string.edit_profile));
int changeCount = 2; // 每月剩余修改次数
int cardCount = 0; // 头像卡数量
// 获取字符串资源并替换参数
String infoText = String.format(getResources().getString(com.qxcm.moduleutil.R.string.avatar_change_info), changeCount, cardCount);
mBinding.tv1.setText(Html.fromHtml(infoText));
mBinding.rvPhotoWall.setLayoutManager(new GridLayoutManager(this, 3));
mBinding.rvPhotoWall.setAdapter(mUserPhotoWallAdapter = new UserPhotoWallAdapter());
mUserPhotoWallAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
int id = view.getId();
UserImgList item = mUserPhotoWallAdapter.getItem(position);
if (id == R.id.iv_close) {
// MvpPre.deletePhoto(item.getId(), position);
} else {
if ("0".equals(item.getId())) {
startChoosePhoto(PictureMimeType.ofImage(), PictureConfig.REQUEST_CAMERA, true, 6);
}
}
}
});
mUserPhotoWallAdapter.setOnItemChildLongClickListener(new BaseQuickAdapter.OnItemChildLongClickListener() {
@Override
public boolean onItemChildLongClick(BaseQuickAdapter adapter, View view, int position) {
mUserPhotoWallAdapter.setLongClickPos(position);
return true;
}
});
list = new ArrayList<>();
UserImgList userImgList = new UserImgList("0", "");
list.add(userImgList);
mUserPhotoWallAdapter.setNewData(list);
mUserPhotoWallAdapter.setDelete(true);
mBinding.rl1.setOnClickListener(this::onClick);
mBinding.rl3.setOnClickListener(this::onClick);
mBinding.rl4.setOnClickListener(this::onClick);
mBinding.rvUserHead.setOnClickListener(this::onClick);
}
private void onClick(View view) {
if (view.getId() == R.id.rv_user_head) {
startChoosePhoto(PictureMimeType.ofImage(), PictureConfig.CHOOSE_REQUEST, true, 1);
} else if (view.getId() == R.id.rl_1) {
startActivity(new Intent(this, ChangeNicknameActivity.class));
} else if (view.getId() == R.id.rl_3) {
if (mDateSelectDialog == null) {
mDateSelectDialog = new DateSelectDialog(this);
mDateSelectDialog.setmOnSelectDate(this);
}
mDateSelectDialog.show();
} else if (view.getId() == R.id.rl_4) {
startActivity(new Intent(this, BriefIntroductionActivity.class));
}
}
@Override
protected int getLayoutId() {
return R.layout.activity_edit_user;
}
@Override
protected EditUserPresenter bindPresenter() {
return new EditUserPresenter(this, this);
}
private void startChoosePhoto(int mimeType, int requestCode, boolean isVideo, int type) {
PictureSelector.create(this)
.openGallery(mimeType)
.isGif(isVideo)
.imageEngine(GlideEngine.createGlideEngine())
.maxSelectNum(type)
.isPreviewImage(true)
.isCamera(true)
.setOutputCameraPath(Constants.FILE_PATH)
.isCompress(true)
.setPictureStyle(MyPictureParameterStyle.Companion.selectPicture())
.forResult(requestCode); //结果回调onActivityResult code
}
@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.CHOOSE_REQUEST:
List<LocalMedia> localMedia = PictureSelector.obtainMultipleResult(data);
if (localMedia != null && localMedia.size() != 0) {
LocalMedia imgMedia = localMedia.get(0);
String url;
if (imgMedia.isCompressed()) {
url = imgMedia.getCompressPath();
} else {
url = imgMedia.getRealPath();
}
MvpPre.uploadFile(new File(url), 0);
}
break;
case PictureConfig.REQUEST_CAMERA:
List<LocalMedia> localMedia1 = PictureSelector.obtainMultipleResult(data);
if (localMedia1 != null && localMedia1.size() != 0) {
LocalMedia imgMedia = localMedia1.get(0);
MvpPre.uploadFile(new File(imgMedia.getRealPath()), 3);
}
break;
}
}
}
@Override
public void upLoadSuccess(String url, int type) {
// if (uploadType == 1) {
// MvpPre.addPhoto(url);
// } else {
// if (type == 0) {
// MvpPre.updateAvatar(url);
// } else if (type == 1) {
// Map<String, String> map = new HashMap<>();
// map.put("intro_voice", url);
// map.put("intro_voice_time", String.valueOf(mLength));
// MvpPre.upDateUserInfo(map);
// } else {
// MvpPre.updateShortsVideo(url);
// }
// }
if (type == 1) {
ImageUtils.loadHeadCC(url, mBinding.rvUserHead);
} else {
list.add(new UserImgList("1", url));
mUserPhotoWallAdapter.setNewData(list);
}
}
@Override
public void selectDate(String year, String month, String day) {
mBinding.tvSr.setText(year + "-" + month + "-" + day);
/* map.put("birthday", year + "-" + month + "-" + day);*/
}
}

View File

@@ -0,0 +1,93 @@
package com.example.modulevocal.activity;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.MyBagConacts;
import com.example.modulevocal.databinding.ActivityMyBagBinding;
import com.example.modulevocal.fragment.mybag.MyBagFragment;
import com.example.modulevocal.fragment.mybag.MyBagListFragment;
import com.example.modulevocal.presenter.MyBagPresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.MyBagBean;
import java.util.ArrayList;
import java.util.List;
/**
*@author qx
*@data 2025/5/22
*@description: 我的背包
*/
public class MyBagActivity extends BaseMvpActivity<MyBagPresenter, ActivityMyBagBinding> implements MyBagConacts.View {
private List<MyBagBean> list;
@Override
protected void initData() {
mBinding.topBar.setTitle("我的背包");
list=new ArrayList<>();
list.add(new MyBagBean("背包道具", "1"));
list.add(new MyBagBean("背包收入", "2"));
list.add(new MyBagBean("背包支出", "3"));
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), list));
mBinding.slidingTabLayout.setViewPager(mBinding.viewPager);
mBinding.slidingTabLayout.setCurrentTab(0);
}
@Override
protected int getLayoutId() {
return R.layout.activity_my_bag;
}
@Override
protected MyBagPresenter bindPresenter() {
return new MyBagPresenter(this, this);
}
private static class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
private List<MyBagBean> list;
public MyFragmentPagerAdapter(FragmentManager fm, List<MyBagBean> list) {
super(fm);
this.list = list;
}
@Override
public Fragment getItem(int position) {
MyBagBean model = list.get(position);
if ("1".equals(model.getMyBagType())){
return MyBagFragment.newInstance(model.getMyBagType());
}else {
return MyBagListFragment.newInstance(model.getMyBagType());
}
}
@Override
public int getCount() {
return list.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
MyBagBean model = list.get(position);
return model.getMyBagTitle();
}
}
}

View File

@@ -0,0 +1,53 @@
package com.example.modulevocal.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.MyMoneyConactos;
import com.example.modulevocal.databinding.ActivityMyMoneyBinding;
import com.example.modulevocal.presenter.MyMoneyPresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
/**
*@author qx
*@data 2025/5/21
*@description: 我的钱包
*/
public class MyMoneyActivity extends BaseMvpActivity<MyMoneyPresenter, ActivityMyMoneyBinding> implements MyMoneyConactos.View {
@Override
protected void initData() {
mBinding.topBar.setTitle(getResources().getString(com.qxcm.moduleutil.R.string.wallet));
mBinding.tvCz.setOnClickListener(this::onClick);
mBinding.tvTx.setOnClickListener(this::onClick);
mBinding.r3.setOnClickListener(this::onClick);
}
private void onClick(View view) {
if (view.getId()==R.id.tv_cz){
startActivity(new Intent(this, RechargeActivity.class));
}else if (view.getId()==R.id.tv_tx){
startActivity(new Intent(this, WithdrawalActivity.class));
}else if (view.getId()==R.id.r_3){
startActivity(new Intent(this, CurrencyExchangeActivity.class));
}
}
@Override
protected int getLayoutId() {
return R.layout.activity_my_money;
}
@Override
protected MyMoneyPresenter bindPresenter() {
return new MyMoneyPresenter(this,this);
}
}

View File

@@ -0,0 +1,279 @@
package com.example.modulevocal.activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.util.SparseArray;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
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.MyRoomListContacts;
import com.example.modulevocal.databinding.RoomActivityMyRoomBinding;
import com.example.modulevocal.fragment.MyCreateFragment;
import com.example.modulevocal.fragment.MyFollowFragment;
import com.example.modulevocal.fragment.MyManageFragment;
import com.example.modulevocal.fragment.MyRoomListFragment;
import com.example.modulevocal.presenter.MyRoomPresenter;
import com.hjq.toast.ToastUtils;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.AttentionResp;
import com.qxcm.moduleutil.bean.ManageRoomResp;
import com.qxcm.moduleutil.bean.MyFootResp;
import com.qxcm.moduleutil.bean.MyRoomBean;
import com.qxcm.moduleutil.widget.CustomTopBar;
import java.util.List;
/**
*@author
*@data 2025/5/15
*@description: 我的房间
*/
public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivityMyRoomBinding> implements MyRoomListContacts.View {
public String from;
public int auth_status;
public String roomId;
@Override
protected MyRoomPresenter bindPresenter() {
return new MyRoomPresenter(this, this);
}
@Override
protected void initData() {
mBinding.viewPager.setAdapter(new MyFragmentAdapter(getSupportFragmentManager()));
mBinding.viewPager.setOffscreenPageLimit(1);
mBinding.tvCharm.setOnClickListener(v -> {
resetTab(0);
});
mBinding.tvWealth.setOnClickListener(v -> {
resetTab(1);
});
mBinding.tvManage.setOnClickListener(v -> {
resetTab(2);
});
mBinding.tvInterest.setOnClickListener(v -> {
resetTab(3);
});
mBinding.viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
resetTab(position); // 同步更新 Tab 样式
}
});
mBinding.tvCharm.setTextColor(getResources().getColor(R.color.black));
mBinding.tvWealth.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvManage.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvInterest.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvCharm.setTextSize(16);
mBinding.tvWealth.setTextSize(14);
mBinding.tvManage.setTextSize(14);
mBinding.tvInterest.setTextSize(14);
mBinding.tvCharm.setTypeface(null, Typeface.BOLD);
mBinding.tvWealth.setTypeface(null, Typeface.NORMAL);
mBinding.tvManage.setTypeface(null, Typeface.NORMAL);
mBinding.tvInterest.setTypeface(null, Typeface.NORMAL);
mBinding.vLine.setVisibility(View.VISIBLE);
mBinding.vLine2.setVisibility(View.GONE);
mBinding.vLine3.setVisibility(View.GONE);
mBinding.vLine4.setVisibility(View.GONE);
}
private void resetTab(int index) {
if (mBinding.viewPager.getCurrentItem() == index) {
return; // 已处于目标页面,无需重复操作
}
if (index == 0) {
mBinding.tvCharm.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.black));
mBinding.tvWealth.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvManage.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvInterest.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvCharm.setTextSize(16);
mBinding.tvWealth.setTextSize(14);
mBinding.tvManage.setTextSize(14);
mBinding.tvInterest.setTextSize(14);
mBinding.tvCharm.setTypeface(null, Typeface.BOLD);
mBinding.tvWealth.setTypeface(null, Typeface.NORMAL);
mBinding.tvManage.setTypeface(null, Typeface.NORMAL);
mBinding.tvInterest.setTypeface(null, Typeface.NORMAL);
mBinding.vLine.setVisibility(View.VISIBLE);
mBinding.vLine2.setVisibility(View.GONE);
mBinding.vLine3.setVisibility(View.GONE);
mBinding.vLine4.setVisibility(View.GONE);
} else if (index == 1) {
mBinding.tvWealth.setTextColor(getResources().getColor(R.color.black));
mBinding.tvCharm.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvManage.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvInterest.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvCharm.setTextSize(14);
mBinding.tvWealth.setTextSize(16);
mBinding.tvManage.setTextSize(14);
mBinding.tvInterest.setTextSize(14);
mBinding.tvCharm.setTypeface(null, Typeface.NORMAL);
mBinding.tvWealth.setTypeface(null, Typeface.BOLD);
mBinding.tvManage.setTypeface(null, Typeface.NORMAL);
mBinding.tvInterest.setTypeface(null, Typeface.NORMAL);
mBinding.vLine.setVisibility(View.GONE);
mBinding.vLine2.setVisibility(View.VISIBLE);
mBinding.vLine3.setVisibility(View.GONE);
mBinding.vLine4.setVisibility(View.GONE);
} else if (index == 2) {
mBinding.tvWealth.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvCharm.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvManage.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.black));
mBinding.tvInterest.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvCharm.setTextSize(14);
mBinding.tvWealth.setTextSize(14);
mBinding.tvManage.setTextSize(16);
mBinding.tvInterest.setTextSize(14);
mBinding.tvCharm.setTypeface(null, Typeface.NORMAL);
mBinding.tvWealth.setTypeface(null, Typeface.NORMAL);
mBinding.tvManage.setTypeface(null, Typeface.BOLD);
mBinding.tvInterest.setTypeface(null, Typeface.NORMAL);
mBinding.vLine.setVisibility(View.GONE);
mBinding.vLine2.setVisibility(View.GONE);
mBinding.vLine3.setVisibility(View.VISIBLE);
mBinding.vLine4.setVisibility(View.GONE);
} else if (index == 3) {
mBinding.tvWealth.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvCharm.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvManage.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
mBinding.tvInterest.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.black));
mBinding.tvCharm.setTextSize(14);
mBinding.tvWealth.setTextSize(14);
mBinding.tvManage.setTextSize(14);
mBinding.tvInterest.setTextSize(16);
mBinding.tvCharm.setTypeface(null, Typeface.NORMAL);
mBinding.tvWealth.setTypeface(null, Typeface.NORMAL);
mBinding.tvManage.setTypeface(null, Typeface.NORMAL);
mBinding.tvInterest.setTypeface(null, Typeface.BOLD);
mBinding.vLine.setVisibility(View.GONE);
mBinding.vLine2.setVisibility(View.GONE);
mBinding.vLine3.setVisibility(View.GONE);
mBinding.vLine4.setVisibility(View.VISIBLE);
}
mBinding.viewPager.setCurrentItem(index); // 禁用平滑滚动
}
@Override
protected int getLayoutId() {
return R.layout.room_activity_my_room;
}
@Override
protected void initView() {
super.initView();
mBinding.topBar.setRightIcon(com.qxcm.moduleutil.R.mipmap.trend_icon);
mBinding.topBar.setImgPaddingRight(35);
mBinding.topBar.setRightImgVIsible(true);
initListener();
}
private void initListener() {
mBinding.topBar.addIntentListener(new CustomTopBar.OnCallBackRightIcon() {
@Override
public void onIntent() {
// if ("我的界面".equals(from)) {
// if (auth_status == 0) {
// ToastUtils.show("实名认证后才能创建直播间");
// MvpPre.getNameAuthResult(0);
// return;
// }
// startActivity(new Intent(MyRoomActivity.this,CreatedRoomActivity.class));
// }
startActivity(new Intent(MyRoomActivity.this,CreatedRoomActivity.class));
finish();
}
});
}
@Override
public void setMyInfo(MyRoomBean myRoom) {
}
@Override
public void setList(List<MyRoomBean> list, int type) {
}
@Override
public void delfootSuccess() {
}
@Override
public void setMyFootData(List<MyFootResp> data, int page) {
}
@Override
public void finishRefresh() {
}
@Override
public void setManageData(List<ManageRoomResp> data) {
}
@Override
public void setAttentionListData(List<AttentionResp> attentionResps) {
}
private static class MyFragmentAdapter extends FragmentStatePagerAdapter {
private SparseArray<Fragment> fragments = new SparseArray<>();
private String[] titles = new String[]{"我创建的", "我主持的", "我管理的", "我关注的"};
private String roomId;
public MyFragmentAdapter(FragmentManager fm) {
super(fm);
this.roomId = roomId;
}
@Override
public Fragment getItem(int position) {
Fragment fragment = fragments.get(position);
if (fragment == null) {
if (position == 0) {
fragment = MyCreateFragment.newInstance(MyCreateFragment.TYPE_CREATE);
} else if (position == 1) {
fragment = MyRoomListFragment.newInstance(MyRoomListFragment.TYPE_HOST);
} else if (position == 2) {
fragment = MyManageFragment.newInstance(MyManageFragment.TYPE_GL);
} else if (position == 3) {
fragment = MyFollowFragment.newInstance(MyFollowFragment.TYPE_GZ);
}
fragments.put(position, fragment);
}
return fragment;
}
@Override
public int getCount() {
return titles.length;
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titles[position];
}
}
}

View File

@@ -0,0 +1,155 @@
package com.example.modulevocal.activity;
import android.graphics.Color;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import com.example.modulevocal.R;
import com.example.modulevocal.databinding.ActivityPersonalityBinding;
import com.example.modulevocal.fragment.zhuangb.ZhuangBanShangChengFragment;
import com.google.android.material.tabs.TabLayout;
import com.qxcm.moduleutil.activity.BaseAppCompatActivity;
import com.qxcm.moduleutil.adapter.MyPagerAdapter;
import java.util.ArrayList;
import java.util.List;
/**
* @author qx
* @data 2025/5/16
* @description: 个性装扮
*/
public class PersonalityActivity extends BaseAppCompatActivity<ActivityPersonalityBinding> {
private List<String> titleList = new ArrayList();
private List<Fragment> mFragments = new ArrayList();
private MyPagerAdapter myAdapter;
@Override
protected void initData() {
titleList.add("头像框");
titleList.add("座驾");
titleList.add("气泡");
titleList.add("个人靓号");
titleList.add("房间靓号");
titleList.add("工会靓号");
mFragments.add(ZhuangBanShangChengFragment.newInstance(1));
mFragments.add(ZhuangBanShangChengFragment.newInstance(2));
mFragments.add(ZhuangBanShangChengFragment.newInstance(3));
mFragments.add(ZhuangBanShangChengFragment.newInstance(4));
mFragments.add(ZhuangBanShangChengFragment.newInstance(5));
mFragments.add(ZhuangBanShangChengFragment.newInstance(6));
myAdapter = new MyPagerAdapter(getSupportFragmentManager(), mFragments, titleList);
mBinding.viewPager.setAdapter(myAdapter);
mBinding.viewPager.setOffscreenPageLimit(mFragments.size());
mBinding.tabLayout.setupWithViewPager(mBinding.viewPager);
setCustomViews();
mBinding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
updateTabView(tab, true);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
updateTabView(tab, false);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
// 可选实现
}
private void updateTabView(TabLayout.Tab tab, boolean isSelected) {
if (tab.getCustomView() == null) return;
TextView text = tab.getCustomView().findViewById(R.id.tv_zbtab);
ImageView vView = tab.getCustomView().findViewById(R.id.v_view);
if (text != null) {
if (isSelected) {
text.setTextColor(Color.parseColor("#333333"));
text.setTextSize(16f);
text.setTypeface(Typeface.DEFAULT_BOLD);
} else {
text.setTextColor(Color.parseColor("#5B5B5B"));
text.setTextSize(14f);
text.setTypeface(Typeface.DEFAULT);
}
}
if (vView != null) {
vView.setVisibility(isSelected ? View.VISIBLE : View.GONE);
}
}
});
// viewModel.loadUserInfo();
// try {
// Login userBean = UserManager.user;
// if (userBean != null) {
// mBinding.tvName.setText(userBean.nick_name);
// mBinding.tvId.setText(String.valueOf(userBean.uid));
// Glide.with(this)
// .load(userBean.head_pic)
// .error(R.mipmap.ic_launcher_app)
// .into(mDataBinding.ivUser);
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
}
@Override
protected void initView() {
mBinding.topBar.setRightTxtVisible(true);
mBinding.topBar.setRightText(getResources().getString(com.qxcm.moduleutil.R.string.shopping));
mBinding.topBar.setRightColor(Color.parseColor("#FF8ACC"));
}
@Override
protected int getLayoutId() {
return R.layout.activity_personality;
}
private void setCustomViews() {
int mSelectedTabPosition = mBinding.tabLayout.getSelectedTabPosition();
for (int i = 0; i < titleList.size(); i++) {
mBinding.tabLayout.getTabAt(i).setCustomView(getTabView(i, mSelectedTabPosition));
}
}
private View getTabView(int index, int mSelectedTabPosition) {
// 自定义View布局
View view = LayoutInflater.from(this).inflate(R.layout.item_tablayout_headerzb, null);
TextView title = view.findViewById(R.id.tv_zbtab);
ImageView v_view = view.findViewById(R.id.v_view);
title.setText(titleList.get(index));
title.setSelected(index == mSelectedTabPosition);
// v_view.setSelected(index == mSelectedTabPosition);
v_view.setVisibility(index == mSelectedTabPosition ? View.VISIBLE : View.GONE);
if (index == mSelectedTabPosition) {
title.setTextColor(Color.parseColor("#333333"));
title.setTextSize(16f);
title.setTypeface(Typeface.DEFAULT_BOLD);
// title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 17f);
// title.setTypeface(Typeface.DEFAULT_BOLD);
} else {
title.setTextColor(Color.parseColor("#5B5B5B"));
title.setTextSize(14f);
// title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15f);
// title.setTypeface(Typeface.DEFAULT);
}
return view;
}
}

View File

@@ -0,0 +1,40 @@
package com.example.modulevocal.activity;
import android.content.Intent;
import android.view.View;
import com.example.modulevocal.R;
import com.example.modulevocal.databinding.ActivityRealDeatilBinding;
import com.qxcm.moduleutil.activity.BaseAppCompatActivity;
/**
*@author
*@data
*@description: 已经实名认证后展示的页面
*/
public class RealDetailActivity extends BaseAppCompatActivity<ActivityRealDeatilBinding> {
@Override
protected void initData() {
}
@Override
protected void initView() {
mBinding.topBar.setTitle(getResources().getString(com.qxcm.moduleutil.R.string.real_name_authentication));
mBinding.ll1.setOnClickListener(this::onClick);
mBinding.ll2.setOnClickListener(this::onClick);
}
private void onClick(View view) {
if (view.getId()==R.id.ll_1||view.getId()==R.id.ll_2){
startActivity(new Intent(this, RealNameActivity.class));
finish();
}
}
@Override
protected int getLayoutId() {
return R.layout.activity_real_deatil;
}
}

View File

@@ -7,6 +7,7 @@ import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
@@ -17,6 +18,7 @@ import androidx.core.view.WindowInsetsCompat;
import com.example.modulevocal.R;
import com.example.modulevocal.databinding.ActivityRealNameBinding;
import com.qxcm.moduleutil.activity.BaseAppCompatActivity;
import com.qxcm.moduleutil.utils.SpUtil;
public class RealNameActivity extends BaseAppCompatActivity<ActivityRealNameBinding> {
@@ -51,6 +53,22 @@ public class RealNameActivity extends BaseAppCompatActivity<ActivityRealNameBind
}
mBinding.tvAgreeTerms.setText(spannable);
mBinding.btnSubmit.setOnClickListener(this::onClick);
}
private void onClick(View view) {
if (view.getId()==R.id.btnSubmit){
if (mBinding.btnSubmit.getText().toString().equals("下一步")){
mBinding.stepNum1.setBackground(getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.num_11));
mBinding.stepNum2.setBackground(getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.num_2));
mBinding.l1.setVisibility(View.GONE);
mBinding.l2.setVisibility(View.VISIBLE);
mBinding.btnSubmit.setText("立即认证");
}else {
SpUtil.setRealName(true);
finish();
}
}
}
@Override

View File

@@ -0,0 +1,159 @@
package com.example.modulevocal.activity;
import android.os.Bundle;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import com.blankj.utilcode.util.ToastUtils;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.BalanceRechargeAdapter;
import com.example.modulevocal.conacts.RechargeConactos;
import com.example.modulevocal.databinding.ActivityRechargeBinding;
import com.example.modulevocal.presenter.RechargePresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.RechargeBean;
import java.util.ArrayList;
import java.util.List;
/**
*@author qx
*@data 2025/5/21
*@description: 充值
*/
public class RechargeActivity extends BaseMvpActivity<RechargePresenter, ActivityRechargeBinding> implements RechargeConactos.View{
private BalanceRechargeAdapter rechargeAdapter;
private String money = "0";
private int type = 1;
@Override
protected void initData() {
mBinding.topBar.setTitle(getResources().getString(com.qxcm.moduleutil.R.string.recharge));
List<RechargeBean> rechargeList = new ArrayList<>();
RechargeBean bean1 = new RechargeBean();
bean1.setGoldNum("60");
bean1.setMoney("6");
bean1.setItemViewType(0);
rechargeList.add(bean1);
RechargeBean bean2 = new RechargeBean();
bean2.setGoldNum("100");
bean2.setMoney("10");
bean2.setItemViewType(0);
rechargeList.add(bean2);
RechargeBean bean3 = new RechargeBean();
bean3.setGoldNum("300");
bean3.setMoney("30");
bean3.setItemViewType(0);
rechargeList.add(bean3);
RechargeBean bean4 = new RechargeBean();
bean4.setGoldNum("500");
bean4.setMoney("50");
bean4.setItemViewType(0);
rechargeList.add(bean4);
RechargeBean bean5 = new RechargeBean();
bean5.setGoldNum("680");
bean5.setMoney("68");
bean5.setItemViewType(0);
rechargeList.add(bean5);
RechargeBean bean6 = new RechargeBean();
bean6.setGoldNum("1280");
bean6.setMoney("128");
bean6.setItemViewType(0);
rechargeList.add(bean6);
// 在数据源最后添加一个自定义项
RechargeBean customItem = new RechargeBean();
customItem.setGoldNum("自定义");
customItem.setMoney("");
customItem.setItemViewType(1);
rechargeList.add(customItem);
rechargeAdapter = new BalanceRechargeAdapter(rechargeList);
rechargeAdapter.setNewData(rechargeList);
rechargeAdapter.setListener(new BalanceRechargeAdapter.OnRechargeItemClickListener() {
@Override
public void onClick(RechargeBean rechargeBean) {
money = rechargeBean.getMoney();
mBinding.tvPayment.setText(String.format("立即支付(%s元)", money));
}
});
rechargeAdapter.setInputBoxVisibilityListener(new BalanceRechargeAdapter.InputBoxVisibilityListener() {
@Override
public void onInputBoxVisibilityChanged(boolean isVisible) {
// 根据 isVisible 的值来显示或隐藏输入框
mBinding.r4.setVisibility(isVisible ? View.VISIBLE : View.GONE);
}
});
mBinding.recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
mBinding.recyclerView.setAdapter(rechargeAdapter);
money = bean1.getMoney();
mBinding.tvPayment.setText(String.format("立即支付(%s元)", money));
}
@Override
protected void initView() {
super.initView();
mBinding.ivWeixin.setImageLevel(1);
mBinding.tvPayment.setOnClickListener(this::onClick);
mBinding.rlWeixinPay.setOnClickListener(this::onClick);
mBinding.rlThreePay.setOnClickListener(this::onClick);
}
private void onClick(View view) {
if (view.getId()==R.id.tv_payment){
if (money.equals("0")) {
ToastUtils.showShort("请选择充值金额");
return;
}
if (Double.valueOf(money) < 6) {
ToastUtils.showShort("最低充值6元以上");
return;
}
if (type == 1) {
// StatisticsUtils.addEvent(this, Constant.OpenInstall.ALIRECHARGE);
} else if (type == 2) {
// StatisticsUtils.addEvent(this, Constant.OpenInstall.WXRECHARGE);
} else if (type == 3) {
// StatisticsUtils.addEvent(this, Constant.OpenInstall.THREERECHARGE);
}
// StatisticsUtils.addEvent(this, Constant.OpenInstall.TOTALRECHARGE);
if (type == 1) {
// MvpPre.userRecharge(money, 8);
} else if (type == 2) {
// MvpPre.userRecharge(money, 8);
} else if (type == 3) {
// MvpPre.userRecharge(money, 7);
}
}else if (view.getId()==R.id.rl_weixin_pay){
type = 2;
mBinding.ivWeixin.setImageLevel(1);
mBinding.ivThreePay.setImageLevel(0);
}else if (view.getId()==R.id.rl_three_pay){
type = 1;
mBinding.ivWeixin.setImageLevel(0);
mBinding.ivThreePay.setImageLevel(1);
}
}
@Override
protected int getLayoutId() {
return R.layout.activity_recharge;
}
@Override
protected RechargePresenter bindPresenter() {
return new RechargePresenter(this, this);
}
}

View File

@@ -0,0 +1,113 @@
package com.example.modulevocal.activity;
import static android.view.View.GONE;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.RoomAllowanceContacts;
import com.example.modulevocal.databinding.ActivityRoomAllowanceBinding;
import com.example.modulevocal.presenter.RoomAllowancePresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.RoomSubsidy;
import com.qxcm.moduleutil.bean.RoomSubsidyDetails;
import com.qxcm.moduleutil.widget.CustomTopBar;
import java.util.List;
public class RoomAllowanceActivity extends BaseMvpActivity<RoomAllowancePresenter, ActivityRoomAllowanceBinding> implements RoomAllowanceContacts.DeatilsView {
public String roomId;
@Override
protected RoomAllowancePresenter bindPresenter() {
return new RoomAllowancePresenter(this, this);
}
@Override
protected void initData() {
MvpPre.getCharmList(roomId);
}
@Override
protected int getLayoutId() {
return R.layout.activity_room_allowance;
}
@Override
protected void initView() {
super.initView();
initListener();
}
private void initListener() {
mBinding.topBar.addIntentListener(new CustomTopBar.OnCallBackRightIcon() {
@Override
public void onIntent() {
// ARouter.getInstance().build(ARouteConstants.MY_ROOM_LIST).withString("from", "我的房间").navigation();
finish();
}
});
mBinding.topBar.addIntentListener2(new CustomTopBar.OnCallBackRightIcon2() {
@Override
public void onIntent() {
// ARouter.getInstance().build(ARouteConstants.ROOM_ALLOWANCE_DETAIL).withString("from", "我的房间").withString("roomId",roomId).navigation();
finish();
}
});
mBinding.topBar.setRightText("历史记录");
mBinding.topBar.setRightColor(Color.parseColor("#FF8ACC"));
mBinding.topBar.setRightTxtVisible(true);
mBinding.topBar.setRightSize(12);
}
@SuppressLint("SetTextI18n")
@Override
public void setList(RoomSubsidy list) {
mBinding.tvLast.setText("累计流水:"+list.getLastweek().getTotal_transaction());
mBinding.tvGrant2.setText("获得补贴:"+list.getThisweek().getSubsidy_amount());
mBinding.tvThis.setText("本周流水:"+list.getThisweek().getTotal_transaction());
mBinding.tvGrant3.setText("获得补贴:"+list.getThisweek().getSubsidy_amount());
if (list.getLastweek().getStatus() == 1){
mBinding.tvGrant.setText("已发放");
mBinding.tvGrant.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
// mBinding.tvLast.setTextColor(getResources().getColor(R.color.color_FF999999));
}else {
mBinding.tvGrant.setText("未发放");
mBinding.tvGrant.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_45d08c));
}
if (list.getThisweek().getStatus() == 1){
mBinding.tvWeekGrant.setText("已发放");
mBinding.tvWeekGrant.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
}else {
mBinding.tvWeekGrant.setText("未发放");
mBinding.tvWeekGrant.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_45d08c));
}
if (list.getExplain() != null&& !list.getExplain().equals("")){
// mBinding.ivBg.loadUrl(BuildConfig.BASE_URL+list.getExplain());
}else {
mBinding.ivBg.setVisibility(GONE);
}
}
@Override
public void setHishoryList(List<RoomSubsidyDetails> list) {
}
@Override
public void finishRefresh() {
}
}

View File

@@ -0,0 +1,102 @@
package com.example.modulevocal.activity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.RoomAllowanceDetailAdapter;
import com.example.modulevocal.conacts.RoomAllowanceContacts;
import com.example.modulevocal.databinding.ActivityRoomAllowanceDetailBinding;
import com.example.modulevocal.presenter.RoomAllowancePresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.RoomSubsidy;
import com.qxcm.moduleutil.bean.RoomSubsidyDetails;
import com.qxcm.moduleutil.widget.CustomTopBar;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import java.util.List;
/**
*@author qx
*@data 2025/5/15
*@description: 历史记录
*/
public class RoomAllowanceDetailActivity extends BaseMvpActivity<RoomAllowancePresenter, ActivityRoomAllowanceDetailBinding> implements RoomAllowanceContacts.DeatilsView {
public String roomId;
private int currentPage = 1;
private RoomAllowanceDetailAdapter adapter;
@Override
protected RoomAllowancePresenter bindPresenter() {
return new RoomAllowancePresenter(this, this);
}
@Override
protected void initData() {
MvpPre.getDetails(roomId,"1");
}
@Override
protected int getLayoutId() {
return R.layout.activity_room_allowance_detail;
}
@Override
protected void initView() {
super.initView();
initListener();
adapter = new RoomAllowanceDetailAdapter();
adapter.openLoadAnimation(BaseQuickAdapter.SCALEIN);
mBinding.recycleView.setAdapter(adapter);
mBinding.recycleView.setLayoutManager(new LinearLayoutManager(this));
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
currentPage++;
MvpPre.getDetails(roomId, currentPage + "");
}
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
currentPage = 1;
MvpPre.getDetails(roomId, currentPage + "");
}
});
}
private void initListener() {
mBinding.topBar.addIntentListener(new CustomTopBar.OnCallBackRightIcon() {
@Override
public void onIntent() {
// ARouter.getInstance().build(ARouteConstants.MY_ROOM_LIST).withString("from", "我的房间").navigation();
finish();
}
});
}
@SuppressLint("SetTextI18n")
@Override
public void setList(RoomSubsidy list) {
}
@Override
public void setHishoryList(List<RoomSubsidyDetails> list) {
adapter.setNewData(list);
}
@Override
public void finishRefresh() {
mBinding.smartRefreshLayout.finishRefresh();
mBinding.smartRefreshLayout.finishLoadMore();
}
}

View File

@@ -0,0 +1,187 @@
package com.example.modulevocal.activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.DatePicker;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.RoomDetailsAdapter;
import com.example.modulevocal.conacts.MyRoomListContacts;
import com.example.modulevocal.databinding.ActivityRoomDetailsBinding;
import com.example.modulevocal.presenter.RoomDetailsPresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.bean.RoomDetails;
import com.qxcm.moduleutil.bean.details.BaseMultiItemEntity;
import com.qxcm.moduleutil.bean.details.RoomDeatailList;
import com.qxcm.moduleutil.bean.details.RoomDeatil;
import com.qxcm.moduleutil.dialog.DoubleDatePickerDialog;
import com.qxcm.moduleutil.widget.CustomTopBar;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
*@author qx
*@data 2025/5/15
*@description:房间明细
*/
public class RoomDetailsActivity extends BaseMvpActivity<RoomDetailsPresenter, ActivityRoomDetailsBinding> implements MyRoomListContacts.DeatilsView {
public String roomId;
private BaseQuickAdapter<RoomDetails.RoomDetailsList.RoomDetail, BaseViewHolder> mAdapter;
private int currentPage = 1;
private RoomDetailsAdapter adapter;
private String stime = "";
private String etime = "";
Set<String> loadedUserIds = new HashSet<>();
public int type;
@Override
protected void initData() {
MvpPre.getCharmList(roomId, "", "", "1", type);
mBinding.rl3.setOnClickListener(v -> {
Calendar c = Calendar.getInstance();
// 最后一个false表示不显示日期如果要显示日期最后参数可以是true或者不用输入
new DoubleDatePickerDialog(this, 0, new DoubleDatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker startDatePicker, int startYear, int startMonthOfYear,
int startDayOfMonth, DatePicker endDatePicker, int endYear, int endMonthOfYear,
int endDayOfMonth) {
stime = String.format("%d-%d-%d", startYear,
startMonthOfYear + 1, startDayOfMonth);
etime = String.format("%d-%d-%d", endYear,
endMonthOfYear + 1, endDayOfMonth);
currentPage = 1;
loadedUserIds = new HashSet<>();
MvpPre.getCharmList(roomId, stime, etime, currentPage + "", type);
}
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DATE), true).show();
});
}
@Override
protected int getLayoutId() {
return R.layout.activity_room_details;
}
@Override
protected RoomDetailsPresenter bindPresenter() {
return new RoomDetailsPresenter((MyRoomListContacts.DeatilsView) this, this);
}
@Override
protected void initView() {
super.initView();
initListener();
adapter = new RoomDetailsAdapter(null);
adapter.openLoadAnimation(BaseQuickAdapter.SCALEIN);
mBinding.rv.setAdapter(adapter);
mBinding.rv.setLayoutManager(new LinearLayoutManager(this));
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
currentPage++;
MvpPre.getCharmList(roomId, stime, etime, currentPage + "", type);
}
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
currentPage = 1;
MvpPre.getCharmList(roomId, stime, etime, currentPage + "", type);
}
});
}
private void initListener() {
mBinding.topBar.addIntentListener(new CustomTopBar.OnCallBackRightIcon() {
@Override
public void onIntent() {
// ARouter.getInstance().build(ARouteConstants.MY_ROOM_LIST).withString("from", "我的房间").navigation();
finish();
}
});
mBinding.topBar.addIntentListener2(new CustomTopBar.OnCallBackRightIcon2() {
@Override
public void onIntent() {
// ARouter.getInstance().build(ARouteConstants.ROOM_ALLOWANCE).withString("from", "我的房间").withString("roomId", roomId).navigation();
finish();
}
});
mBinding.topBar.setRightText("补贴明细");
mBinding.topBar.setRightColor(Color.parseColor("#FF8ACC"));
mBinding.topBar.setRightTxtVisible(true);
mBinding.topBar.setRightSize(12);
}
@Override
public void setList(RoomDetails list) {
mBinding.tv3.setText( list.getTotal_earning()+"");
mBinding.tv5.setText(list.getTotal_amount()+"");
if (list.getList() != null && !list.getList().isEmpty() && list.getList().size() > 0) {
List<BaseMultiItemEntity> data = new ArrayList<>();
for (int i = 0; i < list.getList().size(); i++) {
String time = list.getList().get(i).getTime();
if (!loadedUserIds.contains(time)) {
RoomDeatailList r = new RoomDeatailList();
r.setTotal_price(list.getList().get(i).getTotal_price());
r.setTotal_earning(list.getList().get(i).getTotal_earning());
r.setTime(list.getList().get(i).getTime());
data.add(r);
loadedUserIds.add(time);
}
for (int j = 0; j < list.getList().get(i).getList().size(); j++) {
List<RoomDeatil> list1 = new ArrayList<>();
RoomDeatil d = new RoomDeatil();
d.setUser_head_picture(list.getList().get(i).getList().get(j).getUser_head_picture());
d.setUser_nickname(list.getList().get(i).getList().get(j).getUser_nickname());
d.setGet_user_nickname(list.getList().get(i).getList().get(j).getGet_user_nickname());
d.setGift_name(list.getList().get(i).getList().get(j).getGift_name());
d.setGift_number(list.getList().get(i).getList().get(j).getGift_number());
d.setTotal_price(list.getList().get(i).getList().get(j).getTotal_price());
d.setTime(list.getList().get(i).getList().get(j).getTime());
d.setEarning(list.getList().get(i).getList().get(j).getEarning());
list1.add(d);
data.addAll(list1);
}
}
if (currentPage == 1) {
adapter.setNewData(data);
} else {
adapter.addData(data);
}
adapter.notifyItemInserted(data.size() - 1);
mBinding.rv.requestLayout(); // 请求重新布局
}
}
@Override
public void finishRefresh() {
mBinding.smartRefreshLayout.finishRefresh();
mBinding.smartRefreshLayout.finishLoadMore();
}
}

View File

@@ -1,18 +1,23 @@
package com.example.modulevocal.activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.blankj.utilcode.util.FileUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.example.modulevocal.R;
import com.example.modulevocal.databinding.ActivitySettingBinding;
import com.qxcm.moduleutil.activity.BaseAppCompatActivity;
import com.qxcm.moduleutil.base.CommonAppContext;
import com.qxcm.moduleutil.dialog.RealNameDialog;
import com.qxcm.moduleutil.utils.SpUtil;
import com.qxcm.moduleutil.utils.config.ConfigManager;
@@ -35,6 +40,7 @@ public class SettingActivity extends BaseAppCompatActivity<ActivitySettingBindin
@Override
protected void initView() {
mBinding.topBar.setTitle("设置");
mBinding.tvCache.setHint(FileUtils.getSize(getCacheDir()));
mBinding.llYouth.setOnClickListener(this::onClick);
mBinding.llNotification.setOnClickListener(this::onClick);
mBinding.swit.setOnClickListener(this::onClick);
@@ -42,6 +48,8 @@ public class SettingActivity extends BaseAppCompatActivity<ActivitySettingBindin
mBinding.llSzmm.setOnClickListener(this::onClick);
mBinding.llShb.setOnClickListener(this::onClick);
mBinding.llSmrz.setOnClickListener(this::onClick);
mBinding.llQhch.setOnClickListener(this::onClick);
mBinding.llTcdl.setOnClickListener(this::onClick);
}
private void onClick(View view) {
@@ -50,18 +58,36 @@ public class SettingActivity extends BaseAppCompatActivity<ActivitySettingBindin
}else if (view.getId()==R.id.ll_notification){
startActivity(new Intent(this, NotificationActivity.class));
}else if (view.getId()==R.id.ll_hmd){
startActivity(new Intent(this, BlacklistActivity.class));
Intent intent=new Intent(this, BlacklistActivity.class);
intent.putExtra("type",1);
startActivity(intent);
// startActivity(new Intent(this, BlacklistActivity.class));
}else if (view.getId()==R.id.ll_szmm){
startActivity(new Intent(this, ChangePasswordActivity.class));
startActivity(new Intent(this, ChangPassActivity.class));
}else if (view.getId()==R.id.ll_shb){
startActivity(new Intent(this, PhoneReplacementActivity.class));
}else if (view.getId()==R.id.ll_smrz){
RealNameDialog realNameDialog = new RealNameDialog(this);
realNameDialog.show();
realNameDialog.setOnDismissListener(dialog -> {
dialog.dismiss();
startActivity(new Intent(SettingActivity.this, RealNameActivity.class));
});
}else if (view.getId()==R.id.ll_smrz){//实名认证
if (SpUtil.getRealName()){
startActivity(new Intent(this, RealDetailActivity.class));
}else {
RealNameDialog realNameDialog = new RealNameDialog(this);
realNameDialog.show();
realNameDialog.setOnDismissListener(dialog -> {
dialog.dismiss();
startActivity(new Intent(SettingActivity.this, RealNameActivity.class));
});
}
}else if (view.getId()==R.id.ll_qhch){
new AlertDialog.Builder(this).setMessage("确认清理缓存?").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ToastUtils.showShort("开始清理...");
FileUtils.deleteAllInDir(getCacheDir());
FileUtils.deleteAllInDir(getExternalCacheDir());
ToastUtils.showShort("缓存清理成功!");
mBinding.tvCache.setHint(FileUtils.getSize(getCacheDir()));
}
}).setNegativeButton("取消", null).create().show();
}
else if (view.getId()==R.id.swit){
if (mBinding.swit.isChecked()){
@@ -75,6 +101,20 @@ public class SettingActivity extends BaseAppCompatActivity<ActivitySettingBindin
EnvironmentPrefs prefs = new EnvironmentPrefs(this);
prefs.setSelectedEnvironment(selectedEnv);
}
}else if (view.getId()==R.id.ll_tcdl){
new AlertDialog.Builder(this).setMessage("确定要退出登录吗?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
try {
CommonAppContext.getInstance().clearLoginInfo();
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
})
.setNegativeButton("取消", null).create().show();
}
}
@@ -82,4 +122,6 @@ public class SettingActivity extends BaseAppCompatActivity<ActivitySettingBindin
protected int getLayoutId() {
return R.layout.activity_setting;
}
}

View File

@@ -0,0 +1,402 @@
package com.example.modulevocal.activity;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import androidx.fragment.app.Fragment;
import com.example.moduletablayout.listener.CustomTabEntity;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.UserHomepageConacts;
import com.example.modulevocal.databinding.ActivityUserHomepageBinding;
import com.example.modulevocal.fragment.UserGiftWallFragment;
import com.example.modulevocal.fragment.UserHomepageFragment;
import com.example.modulevocal.presenter.UserHomepagePresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
import com.qxcm.moduleutil.adapter.MyFragmentPagerAdapter;
import com.qxcm.moduleutil.bean.CircleListBean;
import com.qxcm.moduleutil.bean.PhotoWallResp;
import com.qxcm.moduleutil.bean.UserHomeResp;
import com.qxcm.moduleutil.bean.XBannerData;
import com.qxcm.moduleutil.utils.ImageLoader;
import com.qxcm.moduleutil.utils.ImageUtils;
import java.util.ArrayList;
import java.util.List;
public class UserHomepageActivity extends BaseMvpActivity<UserHomepagePresenter, ActivityUserHomepageBinding> implements UserHomepageConacts.View{
String userId="";
public String emchatUsername;
public String from;
private UserHomeResp mUserHomeResp;
// private UserDetailsMoreDialog mUserDetailsMoreDialog;
private String jumpIntentRoomId = "";//跳转的房间id
// private UserSkillsFragment skillsFragment;
// private UserFamiliesFragment familiesFragment;
// private BaseMVVMFragment trendFragment;
private UserGiftWallFragment giftWallFragment;
private String followState = "1";//关注状态 1 未关注 2已关注
private ArrayList<CustomTabEntity> titles = new ArrayList<>();
@Override
protected void initData() {
MvpPre.getUserDetails("0", "0", true);
List<Fragment> fragments = new ArrayList<>();
fragments.add(UserHomepageFragment.newInstance(userId));
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(fragments, getSupportFragmentManager()));
}
@Override
protected int getLayoutId() {
return R.layout.activity_user_homepage;
}
@Override
protected UserHomepagePresenter bindPresenter() {
return new UserHomepagePresenter(this, this);
}
@Override
protected void initView() {
super.initView();
// titles.add(new HomePageTabBean("动态"));
// titles.add(new HomePageTabBean("礼物墙"));
// mBinding.meUser.tabLwq.setVisibility(View.GONE);
// mBinding.meUser.tabDt.setVisibility(View.VISIBLE);
// mBinding.meUser.tabDt.setSelected(true);
// initListener();
// scrollInteractive();
//// mBinding.meUser.ivMore.setOnClickListener(this);
//// mBinding.meUser.ivMoreMin.setOnClickListener(this);
//// mBinding.tvChart.setOnClickListener(this);
//// mBinding.meUser.ivEdit.setOnClickListener(this);
//// mBinding.meUser.headerInfo.tvLivingRoomGo.setOnClickListener(this);
// mBinding.meUser.ivBack.setOnClickListener(this::onChock);
// mBinding.meUser.ivBackMin.setOnClickListener(this::onChock);
// mBinding.meUser.headerInfo.tvNickName.setOnClickListener(this::onChock);
// mBinding.meUser.headerInfo.tvUserId.setOnClickListener(this::onChock);
//// mBinding.clFollow.setOnClickListener(this::onFollow);
//// mBinding.meUser.headerInfo.tvShoufufen.setOnClickListener(this);
//// mBinding.meUser.headerInfo.tvMeinfoRenzhengIcon.setOnClickListener(this);
//// mBinding.meUser.headerInfo.tvMeinfoGonghui.setOnClickListener(this);
// mBinding.meUser.headerInfo.rivUserHead.setOnClickListener(this::onChock);
}
// public void setTab(int type) {
// if (titles.size() == 2) {
// titles.clear();
// titles.add(new HomePageTabBean("动态"));
// titles.add(new HomePageTabBean("礼物墙"));
// mBinding.meUser.tabLwq.setVisibility(View.VISIBLE);
// mBinding.meUser.tabDt.setVisibility(View.VISIBLE);
// }
//
// mBinding.meUser.tabDt.setSelected(true);
// }
//
//// private void onFollow(View view) {
//// if ("1".equals(followState)) {
//// MvpPre.follow(userId, "2");
//// } else {
//// MvpPre.follow(userId, "1");
//// }
//// }
//
// private boolean scrollviewFlag = false;//标记是否是scrollview在滑动
//
// protected void initListener() {
//// mBinding.meUser.tabZl.setOnClickListener(v->{
//// mBinding.meUser.abl.setExpanded(true, true);
//// mBinding.nestScroll.scrollTo(0, 0);
//// });
//// mBinding.meUser.tabJn.setOnClickListener(v->{
//// mBinding.meUser.abl.setExpanded(false, true);
//// mBinding.nestScroll.scrollTo(0, (int) mBinding.flSkills.getY());
//// });
// mBinding.meUser.tabLwq.setOnClickListener(v->{
// mBinding.meUser.abl.setExpanded(false, true);
// mBinding.nestScroll.scrollTo(0, (int) mBinding.flGiftWall.getY());
// });
// mBinding.meUser.tabDt.setOnClickListener(v->{
// mBinding.meUser.abl.setExpanded(false, true);
// mBinding.nestScroll.scrollTo(0, (int) mBinding.flTrendContainer.getY());
// });
//
// mBinding.meUser.abl.addOnOffsetChangedListener(new AppBarStateChangeListener() {
// @Override
// public void onStateChanged(AppBarLayout appBarLayout, State state) {
// Logger.e("onStateChanged", appBarLayout.getTotalScrollRange());
// if (state == State.EXPANDED) {
// //展开状态
// mBinding.meUser.rlTopBar.setVisibility(View.VISIBLE);
// } else if (state == State.COLLAPSED) {
// //折叠状态
// mBinding.meUser.rlTopBar.setVisibility(View.GONE);
// }
// }
// });
//
//
//// mUserDetailsMoreDialog = new UserDetailsMoreDialog(this);
//// mUserDetailsMoreDialog.addOnUserDetailsMoreListener(new UserDetailsMoreDialog.OnUserDetailsMoreListener() {
//// @Override
//// public void onBlock() {
//// if (SpUtils.getUserId().equals(userId)) {
//// ToastUtils.show("不能拉黑自己");
//// return;
//// }
//// MvpPre.addBlackUser(userId, 1);
//// }
////
//// @Override
//// public void onReport() {
//// if (SpUtils.getUserId().equals(userId)) {
//// ToastUtils.show("不能举报自己");
//// return;
//// }
//// ARouter.getInstance().build(ARouteConstants.CHAT_REPORT).withString("userId", userId).navigation();
//// }
//// });
//
//
// mBinding.meUser.headerInfo.xbanner.setOnItemClickListener((banner, model, view, position) -> {
// if (mUserHomeResp != null && mUserHomeResp.getUser_photo() != null && mUserHomeResp.getUser_photo().getList() != null) {
// ArrayList<XBannerData> xBannerData = new ArrayList<>(getXBannerData(mUserHomeResp.getUser_photo()));
//// ARouter.getInstance().build(ARouteConstants.IMAGE_BROWSER).withSerializable("list", xBannerData).withInt("position", position).navigation();
// }
// });
//
// mBinding.meUser.headerInfo.xbanner.loadImage((banner, model, view, position) -> {
// XBannerData xBannerData = (XBannerData) model;
// ImageView ivStart = view.findViewById(com.qxcm.moduleutil.R.id.iv_voice_start);
// ImageView imageView = view.findViewById(R.id.iv_img);
// if (xBannerData.getType() == 1) {
// ivStart.setVisibility(View.VISIBLE);
// imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
// ImageLoader.loadImage(getApplicationContext(), imageView, xBannerData.getVedioCover());
// } else {
// ivStart.setVisibility(View.GONE);
// ImageUtils.loadCenterCrop(xBannerData.getUrl(), imageView);
// }
// });
//
//
// }
//
// @Override
public void setUserDetails(UserHomeResp mUserHomeResp) {
List<XBannerData> xBannerData1 = getXBannerData(mUserHomeResp.getUser_photo());
mBinding.xbanner.setBannerData(com.qxcm.moduleutil.R.layout.me_xbanner, xBannerData1);
mBinding.xbanner.setOnItemClickListener((banner, model, view, position) -> {
if (mUserHomeResp != null && mUserHomeResp.getUser_photo() != null && mUserHomeResp.getUser_photo().getList() != null) {
// ARouter.getInstance().build(ARouteConstants.IMAGE_BROWSER).withSerializable("list", xBannerData).withInt("position", position).navigation();
}
});
mBinding.xbanner.loadImage((banner, model, view, position) -> {
XBannerData xBannerData = (XBannerData) model;
ImageView ivStart = view.findViewById(com.qxcm.moduleutil.R.id.iv_voice_start);
ImageView imageView = view.findViewById(R.id.iv_img);
if (xBannerData.getType() == 1) {
ivStart.setVisibility(View.VISIBLE);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
ImageLoader.loadImage(this, imageView, xBannerData.getVedioCover());
} else {
ivStart.setVisibility(View.GONE);
ImageUtils.loadHeadCC(xBannerData.getUrl(), imageView);
}
});
}
private List<XBannerData> getXBannerData(PhotoWallResp photoWallResp) {
List<XBannerData> xBannerData = new ArrayList<>();
if (!TextUtils.isEmpty(photoWallResp.getVedio_cover())) {
xBannerData.add(new XBannerData(1, photoWallResp.getVedio(), photoWallResp.getVedio_cover()));
}
if (!TextUtils.isEmpty(photoWallResp.getAvatar())) {
xBannerData.add(new XBannerData(0, photoWallResp.getAvatar(), ""));
}
// for (PhotoWallResp.GiftResp item : photoWallResp.getList()) {
// xBannerData.add(new XBannerData(0, item.getUrl(), ""));
// }
return xBannerData;
}
@Override
public void setCircleList(List<CircleListBean> list) {
}
//
// private List<XBannerData> getXBannerData(PhotoWallResp photoWallResp) {
// List<XBannerData> xBannerData = new ArrayList<>();
// if (!TextUtils.isEmpty(photoWallResp.getVedio_cover())) {
// xBannerData.add(new XBannerData(1, photoWallResp.getVedio(), photoWallResp.getVedio_cover()));
// }
// if (!TextUtils.isEmpty(photoWallResp.getAvatar())) {
// xBannerData.add(new XBannerData(0, photoWallResp.getAvatar(), ""));
// }
//// for (PhotoWallResp.GiftResp item : photoWallResp.getList()) {
//// xBannerData.add(new XBannerData(0, item.getUrl(), ""));
//// }
// return xBannerData;
// }
//
//
//
// private void setFollowStyle(String type) {
// if ("1".equals(type)) {
//// mBinding.tvFollow.setBackgroundResource(R.mipmap.meinfo_follow_disable);
// } else {
//// mBinding.tvFollow.setBackgroundResource(R.mipmap.meinfo_follow_normal);
// }
// }
//
//
// private void onChock(View view) {
// if (view.getId() == R.id.iv_back) {
// finish();
// }
// //聊天
//// if (view.getId() == R.id.tv_chart) {
//// if (mUserHomeResp != null) {
//// if ("1".equals(mUserHomeResp.getOnly_friend())) {
//// ToastUtils.show("对方只接受来自好友的消息");
//// } else {
//// ARouter.getInstance().build(ARouteConstants.HOME_CHART)
//// .withString("userId", mUserHomeResp.getEmchat_username())
//// .withString("nickname", mUserHomeResp.getNickname())
//// .withString("avatar", mUserHomeResp.getHead_picture())
//// .navigation();
//// }
//// }
//// }
//// //右上角更多
//// else if (view.getId() == R.id.iv_more) {
//// if (mUserDetailsMoreDialog == null) {
//// mUserDetailsMoreDialog = new UserDetailsMoreDialog(this);
//// }
//// mUserDetailsMoreDialog.show();
////
//// } else if (view.getId() == R.id.iv_more_min) {
//// if (mUserDetailsMoreDialog == null) {
//// mUserDetailsMoreDialog = new UserDetailsMoreDialog(this);
//// }
//// mUserDetailsMoreDialog.show();
//// }
//// //编辑用户信息
//// else if (view.getId() == R.id.iv_edit) {
//// ARouter.getInstance().build(ARouteConstants.ME_MY_EDIT_INFO).navigation();
//// }
//// //正在语聊中
//// else if (view.getId() == R.id.tv_living_room_go) {
//// if (mUserHomeResp != null) {
//// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("roomId", jumpIntentRoomId).navigation();
//// }
//// }
// //返回
// else if (view.getId() == R.id.iv_back) {
// finish();
// } else if (view.getId() == R.id.iv_back_min) {
// finish();
// }
// //复制昵称
// else if (view.getId() == R.id.tv_nick_name) {
// if (mBinding.meUser.headerInfo.tvUserId.getText().length() > 0) {
// ClipboardManager clipboard = (ClipboardManager) this.getSystemService(Context.CLIPBOARD_SERVICE);
// clipboard.setPrimaryClip(ClipData.newPlainText("text", mUserHomeResp.getNickname()));
// ToastUtils.show("已复制到粘贴板");
// }
// }
// //复制ID
// else if (view.getId() == R.id.tv_user_id) {
// if (mBinding.meUser.headerInfo.tvUserId.getText().length() > 0) {
// ClipboardManager clipboard = (ClipboardManager) this.getSystemService(Context.CLIPBOARD_SERVICE);
// clipboard.setPrimaryClip(ClipData.newPlainText("text", mUserHomeResp.getUser_code()));
// ToastUtils.show("已复制到粘贴板");
// }
// }
// //守护 // 点击头像
// else if ( view.getId() == R.id.riv_user_head) {
//// DialogFragment dialogFragment = (DialogFragment) ARouter.getInstance().build(ARouteConstants.GUARDIAN_GROUP_DIALOG).withString("userId", userId).navigation();
//// if (dialogFragment != null) {
//// dialogFragment.show(getSupportFragmentManager(), "GuardianGroupDialogFragment");
//// }
// }
// // 认证
//// else if (view.getId() == R.id.tv_meinfo_renzheng_icon) {
//// String id = SpUtils.getUserId();
//// if (userId.equals(id)) {
//// //实名认证
//// //判断用户是否已经注册过手机号
//// if (TextUtils.isEmpty(com.qpyy.libcommon.utils.SpUtils.getUserInfo().getMobile())) {
//// ToastUtils.show("请先绑定手机号");
//// return;
//// }
//// MvpPre.getNameAuthResult(0);
//// }
//// }
//// // 公会
//// else if (view.getId() == R.id.tv_meinfo_gonghui) {
//// String id = SpUtils.getUserId();
//// if (userId.equals(id)) {
//// MvpPre.getGuildInfo();
//// }
//// }
// }
// private void scrollInteractive() {
// mBinding.nestScroll.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
// if (scrollviewFlag) {
// return;
// }
//// mBinding.meUser.tabJz.setSelected(false);
// mBinding.meUser.tabLwq.setSelected(false);
// mBinding.meUser.tabDt.setSelected(false);
// if (scrollY < mBinding.flSkills.getTop()) {
// mBinding.meUser.tabDt.setSelected(true);
//// } else if (scrollY < mBinding.flFamilies.getTop()) {
//// mBinding.meUser.tabJn.setSelected(true);
// } else {
//
//
//// mBinding.meUser.tabJz.setSelected(true);
// mBinding.meUser.tabDt.setSelected(true);
//
// }
// });
// }
//
// @Override
// protected void onDestroy() {
//// EventBus.getDefault().unregister(this);
// super.onDestroy();
// MediaPlayerUtiles.getInstance().stopAudio();
//
// }
//
// @Override
// protected void onResume() {
// super.onResume();
// MvpPre.getUserDetails(userId, emchatUsername, this.mUserHomeResp == null);
//// MvpPre.getMemberList(userId, 1);
// }
//
// @Override
// protected void onCreate(@Nullable Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
//// EventBus.getDefault().register(this);
// }
//
//
// @Override
// public void showLoadings() {
// }
//
// @Override
// public void showLoadings(String content) {
// }
//
// @Override
// public void disLoadings() {
// }
}

View File

@@ -0,0 +1,45 @@
package com.example.modulevocal.activity;
import android.graphics.Color;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.WithdrawalConacts;
import com.example.modulevocal.databinding.ActivityWithdrawalBinding;
import com.example.modulevocal.presenter.WithdrawalPresenter;
import com.qxcm.moduleutil.activity.BaseMvpActivity;
/**
*@author qx
*@data 2025/5/21
*@description: 提现
*/
public class WithdrawalActivity extends BaseMvpActivity<WithdrawalPresenter, ActivityWithdrawalBinding> implements WithdrawalConacts.View{
@Override
protected void initData() {
mBinding.topBar.setTitle("提现");
mBinding.topBar.setRightTxtVisible(true);
mBinding.topBar.setRightText("提现记录");
mBinding.topBar.setRightColor(Color.parseColor("#FF8ACC"));
mBinding.topBar.getTvRight().setOnClickListener(v -> {
});
}
@Override
protected int getLayoutId() {
return R.layout.activity_withdrawal;
}
@Override
protected WithdrawalPresenter bindPresenter() {
return new WithdrawalPresenter(this, this);
}
}

View File

@@ -0,0 +1,101 @@
package com.example.modulevocal.adapter;
import android.view.View;
import androidx.annotation.NonNull;
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.RechargeBean;
import java.util.List;
/**
* 充值adapter
*/
public class BalanceRechargeAdapter extends BaseMultiItemQuickAdapter<RechargeBean, BaseViewHolder> {
private int selectedPosition = -1;
private OnRechargeItemClickListener listener;
private InputBoxVisibilityListener inputBoxVisibilityListener;
public static final int ITEM_TYPE_NORMAL = 0;
public static final int ITEM_TYPE_FOOTER = 1;
public BalanceRechargeAdapter(@NonNull List<RechargeBean> data) {
super(data);
// 初始化 item 类型
addItemType(ITEM_TYPE_NORMAL, R.layout.rv_item_balance_recharge);
addItemType(ITEM_TYPE_FOOTER, R.layout.rv_item_footer);
}
@Override
public int getItemViewType(int position) {
RechargeBean item = getData().get(position);
return item.getItemViewType(); // 使用 bean 中的 itemViewType
}
@Override
protected void convert(BaseViewHolder helper, RechargeBean item) {
int type = helper.getItemViewType();
if (type == ITEM_TYPE_NORMAL) {
// 正常 item 显示逻辑
helper.setText(R.id.tv_gold_num, item.getGoldNum());
helper.setText(R.id.tv_money, String.format("¥%s", item.getMoney()));
if (selectedPosition == helper.getAdapterPosition()) {
helper.setBackgroundRes(R.id.cl_item, com.qxcm.moduleutil.R.drawable.bg_10_white_sele);
} else {
helper.setBackgroundRes(R.id.cl_item, com.qxcm.moduleutil.R.drawable.bg_r10_white);
}
helper.getView(R.id.cl_item).setOnClickListener(v -> {
selectedPosition = helper.getAdapterPosition();
if (listener != null) {
listener.onClick(item);
}
notifyDataSetChanged();
// 隐藏输入框
if (inputBoxVisibilityListener != null) {
inputBoxVisibilityListener.onInputBoxVisibilityChanged(false);
}
});
} else if (type == ITEM_TYPE_FOOTER) {
helper.setText(R.id.tv_gold_num, "自定义");
helper.getView(R.id.tv_gold_num).setOnClickListener(v -> {
clearSelect(); // 清除所有选中状态
notifyDataSetChanged();
// 显示输入框
if (inputBoxVisibilityListener != null) {
inputBoxVisibilityListener.onInputBoxVisibilityChanged(true);
}
});
}
}
public interface OnRechargeItemClickListener {
void onClick(RechargeBean rechargeBean);
}
public void setListener(OnRechargeItemClickListener listener) {
this.listener = listener;
}
public interface InputBoxVisibilityListener {
void onInputBoxVisibilityChanged(boolean isVisible);
}
public void setInputBoxVisibilityListener(InputBoxVisibilityListener listener) {
this.inputBoxVisibilityListener = listener;
}
/**
* 取消所有选中
*/
public void clearSelect() {
selectedPosition = -1;
notifyDataSetChanged();
}
}

View File

@@ -0,0 +1,70 @@
package com.example.modulevocal.adapter;
import android.view.View;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.BlackUserBean;
import com.qxcm.moduleutil.utils.ImageUtils;
import java.util.List;
/**
*@author qx
*@data 2025/5/19
*@description: 黑名单、关注、粉丝列表适配器
*/
public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder> {
// 定义接口用于回调点击事件
public interface OnItemClickListener {
void onItemClick(BlackUserBean item);
}
private OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener listener) {
this.onItemClickListener = listener;
}
public BlackAdapter() {
super(R.layout.item_black);
}
@Override
protected void convert(BaseViewHolder helper, BlackUserBean item) {
ImageUtils.loadHeadCC(item.getUserAvatar(), helper.getView(R.id.im_user));
helper.setText(R.id.tv_nick_name, item.getUserName());
ImageView imageView= helper.getView(R.id.im_g);
// 根据 type 设置图片资源
// 根据 type 和 status 设置图片资源
if (item.getType() == 0) { // 关注
if (item.getStatus() == 0) {
imageView.setImageResource(com.qxcm.moduleutil.R.mipmap.yigz);
} else {
imageView.setImageResource(com.qxcm.moduleutil.R.mipmap.gz);
}
} else if (item.getType() == 1) { // 黑名单
imageView.setImageResource(com.qxcm.moduleutil.R.mipmap.yic);
} else if (item.getType() == 2) { // 粉丝
if (item.getStatus() == 0) {
imageView.setImageResource(com.qxcm.moduleutil.R.mipmap.hg);
} else {
imageView.setImageResource(com.qxcm.moduleutil.R.mipmap.yigz);
}
}
// 设置点击事件
imageView.setOnClickListener(v -> {
if (onItemClickListener != null) {
onItemClickListener.onItemClick(item);
}
});
}
}

View File

@@ -0,0 +1,84 @@
package com.example.modulevocal.adapter;
import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.AttentionResp;
import com.qxcm.moduleutil.utils.ImageUtils;
import java.util.List;
public class ChatRoomMyFollowAdapter extends BaseQuickAdapter<AttentionResp, BaseViewHolder> {
private int index = -1;
public ChatRoomMyFollowAdapter() {
super(R.layout.room_index_item_chatroom_my_foot);
}
@Override
protected void convert(BaseViewHolder helper, AttentionResp item) {
// ImageUtils.loadGift(helper.getView(R.id.iv_hot), ImageUtils.ANIM);
// ImageUtils.loadHeadCC(item.getRoomPicture(), helper.getView(com.qpyy.module.index.R.id.riv_user_head));
// if (TextUtils.isEmpty(item.getLabel_icon())) {
// helper.setGone(com.qpyy.module.index.R.id.iv_room_labe, false);
// } else {
// helper.setGone(com.qpyy.module.index.R.id.iv_room_labe, true);
// ImageUtils.loadImageView(item.getLabel_icon(), helper.getView(com.qpyy.module.index.R.id.iv_room_labe));
// }
// helper.setText(com.qpyy.module.index.R.id.tv_room_name, item.getRoom_name());
// helper.setText(com.qpyy.module.index.R.id.tv_room_id, "ID: " + item.getRoom_code());
// helper.setText(com.qpyy.module.index.R.id.tv_popularity, item.getPopularity());
// helper.addOnClickListener(com.qpyy.module.index.R.id.tv_clean);
// helper.setVisible(com.qpyy.module.index.R.id.rl_lock, item.getLocked() == 1);
// if (helper.getAdapterPosition() % 3 == 1) {
// helper.setBackgroundRes(com.qpyy.module.index.R.id.iv_follow_bg, index == helper.getAdapterPosition() ? com.qpyy.module.index.R.mipmap.index_follow_bg_tow_select : com.qpyy.module.index.R.mipmap.index_follow_bg_tow_normal);
// } else if (helper.getAdapterPosition() % 3 == 2) {
// helper.setBackgroundRes(com.qpyy.module.index.R.id.iv_follow_bg,index == helper.getAdapterPosition()? com.qpyy.module.index.R.mipmap.index_follow_bg_three_select: com.qpyy.module.index.R.mipmap.index_follow_bg_three_normal);
// } else {
// helper.setBackgroundRes(com.qpyy.module.index.R.id.iv_follow_bg, index == helper.getAdapterPosition()? com.qpyy.module.index.R.mipmap.index_follow_bg_one_select : com.qpyy.module.index.R.mipmap.index_follow_bg_one_normal);
// }
// if (index == helper.getAdapterPosition()) {
// helper.getView(com.qpyy.module.index.R.id.tv_clean).setVisibility(View.VISIBLE);
// } else {
// helper.getView(com.qpyy.module.index.R.id.tv_clean).setVisibility(View.GONE);
// }
ImageUtils.loadHeadCC(item.getRoomPicture(), helper.getView(R.id.iv_follow_bg));
// if (TextUtils.isEmpty(item.getLabel_icon())) {
// helper.setGone(R.id.iv_room_labe, false);
// } else {
// helper.setGone(R.id.iv_room_labe, true);
// ImageUtils.loadImageView(item.getLabel_icon(), helper.getView(R.id.iv_room_labe));
// }
if (item.getLabel_id().equals("23")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.diang_c);
}else if (item.getLabel_id().equals("108")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.diang_c);
}else if (item.getLabel_id().equals("101")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.youxi);
}else if (item.getLabel_id().equals("120")){//女神
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.nvshen);
}else if (item.getLabel_id().equals("121")){//男神
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.nans);
}
// ImageUtils.loadGift(helper.getView(R.id.iv_hot), ImageUtils.ANIM);
helper.setText(R.id.tv_name, item.getRoom_name());
helper.setText(R.id.tv_id, "ID: " + item.getRoom_id());
helper.setText(R.id.tv_num, item.getPopularity());
}
public void setIndex(int index) {
this.index = index;
notifyDataSetChanged();
}
@Override
public void setNewData(@Nullable List<AttentionResp> data) {
index = -1;
super.setNewData(data);
}
}

View File

@@ -0,0 +1,49 @@
package com.example.modulevocal.adapter;
import android.widget.ImageView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.MyFootResp;
import com.qxcm.moduleutil.utils.ImageUtils;
/**
* 历史记录
*/
public class ChatRoomMyFootAdapter extends BaseQuickAdapter<MyFootResp, BaseViewHolder> {
public ChatRoomMyFootAdapter() {
super(R.layout.room_index_item_chatroom_my_foot);
}
@Override
protected void convert(BaseViewHolder helper, MyFootResp item) {
ImageUtils.loadHeadCC(item.getRoomPicture(), helper.getView(R.id.iv_follow_bg));
// if (TextUtils.isEmpty(item.getLabel_icon())) {
// helper.setGone(R.id.iv_room_labe, false);
// } else {
// helper.setGone(R.id.iv_room_labe, true);
// ImageUtils.loadImageView(item.getLabel_icon(), helper.getView(R.id.iv_room_labe));
// }
if (item.getLabel_id().equals("23")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.diang_c);
}else if (item.getLabel_id().equals("108")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.youxi);
}else if (item.getLabel_id().equals("101")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.youxi);
} else if (item.getLabel_id().equals("120")){//女神
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.nvshen);
}else if (item.getLabel_id().equals("121")){//男神
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.nans);
}
// ImageUtils.loadGift(helper.getView(R.id.iv_hot), ImageUtils.ANIM);
helper.setText(R.id.tv_name, item.getRoom_name());
// helper.setText(R.id.tv_id, "ID: " + item.getRoom_id());
helper.setText(R.id.tv_num, item.getPopularity());
ImageView iv = helper.getView(R.id.iv_play);
ImageUtils.loadRes(com.qxcm.moduleutil.R.drawable.voice_play, iv);
// helper.setVisible(R.id.rl_lock, item.getLocked() == 1);
// helper.setGone(R.id.tv_clean, false);
}
}

View File

@@ -0,0 +1,59 @@
package com.example.modulevocal.adapter;
import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.ManageRoomResp;
import com.qxcm.moduleutil.utils.ImageUtils;
import java.util.List;
public class ChatRoomMyManageAdapter extends BaseQuickAdapter<ManageRoomResp, BaseViewHolder> {
private int index = -1;
public ChatRoomMyManageAdapter() {
super(R.layout.room_index_item_chatroom_my_foot);
}
@Override
protected void convert(BaseViewHolder helper, ManageRoomResp item) {
ImageUtils.loadHeadCC(item.getRoomPicture(), helper.getView(R.id.iv_follow_bg));
// if (TextUtils.isEmpty(item.getLabel_icon())) {
// helper.setGone(R.id.iv_room_labe, false);
// } else {
// helper.setGone(R.id.iv_room_labe, true);
// ImageUtils.loadImageView(item.getLabel_icon(), helper.getView(R.id.iv_room_labe));
// }
if (item.getLabel_id().equals("23")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.diang_c);
}else if (item.getLabel_id().equals("108")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.diang_c);
}else if (item.getLabel_id().equals("101")){
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.youxi);
}else if (item.getLabel_id().equals("120")){//女神
helper.setImageResource(R.id.iv_type,com.qxcm.moduleutil.R.mipmap.nvshen);
}else if (item.getLabel_id().equals("121")){//男神
helper.setImageResource(R.id.iv_type, com.qxcm.moduleutil.R.mipmap.nans);
}
// ImageUtils.loadGift(helper.getView(R.id.iv_hot), ImageUtils.ANIM);
helper.setText(R.id.tv_name, item.getRoom_name());
helper.setText(R.id.tv_id, "ID: " + item.getRoom_id());
helper.setText(R.id.tv_num, item.getPopularity());
// }
}
public void setIndex(int index) {
this.index = index;
notifyDataSetChanged();
}
@Override
public void setNewData(@Nullable List<ManageRoomResp> data) {
index = -1;
super.setNewData(data);
}
}

View File

@@ -0,0 +1,43 @@
package com.example.modulevocal.adapter;
import static com.qxcm.moduleutil.utils.UtilConfig.getContext;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.RoomSubsidyDetails;
import java.util.List;
public class RoomAllowanceDetailAdapter extends BaseQuickAdapter<RoomSubsidyDetails, BaseViewHolder> {
public RoomAllowanceDetailAdapter() {
super(R.layout.room_index_item_subsidy);
}
@Override
protected void convert(BaseViewHolder helper, RoomSubsidyDetails item) {
helper.setText(R.id.tv_data, item.getStart_time() + "-" + item.getEnd_time());
helper.setText(R.id.tv_lj, item.getTotal_transaction());
helper.setText(R.id.tv_bt, item.getSubsidy_amount());
TextView tv_status = helper.getView(R.id.tv_status);
if (item.getStatus().equals("1")) {
tv_status.setText("已发放");
tv_status.setTextColor(getContext().getResources().getColor(com.qxcm.moduleutil.R.color.color_FF999999));
} else {
tv_status.setText("未发放");
tv_status.setTextColor(getContext().getResources().getColor(com.qxcm.moduleutil.R.color.color_45d08c));
}
}
@Override
public void setNewData(@Nullable List<RoomSubsidyDetails> data) {
super.setNewData(data);
}
}

View File

@@ -0,0 +1,54 @@
package com.example.modulevocal.adapter;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.details.BaseMultiItemEntity;
import com.qxcm.moduleutil.bean.details.RoomDeatailList;
import com.qxcm.moduleutil.bean.details.RoomDeatil;
import com.qxcm.moduleutil.utils.ImageUtils;
import com.qxcm.moduleutil.widget.GifAvatarOvalView;
import java.util.List;
public class RoomDetailsAdapter extends BaseMultiItemQuickAdapter<BaseMultiItemEntity, BaseViewHolder> {
private static final int TYPE_DATE_HEADER = 1;
private static final int TYPE_GIFT_ITEM = 2;
public RoomDetailsAdapter(List<BaseMultiItemEntity> data) {
super(data);
addItemType(BaseMultiItemEntity.TYPE_A, R.layout.item_date_header);
addItemType(BaseMultiItemEntity.TYPE_B, R.layout.room_details_list);
}
@Override
protected void convert(BaseViewHolder helper, BaseMultiItemEntity item) {
switch (helper.getItemViewType()) {
case TYPE_DATE_HEADER:
RoomDeatailList roomDetailList = (RoomDeatailList) item;
helper.setText(R.id.tv6, roomDetailList.getTime());
helper.setText(R.id.tv8, roomDetailList.getTotal_earning() + "");
helper.setText(R.id.tve, roomDetailList.getTotal_price()+"");
break;
case TYPE_GIFT_ITEM:
RoomDeatil item1 = (RoomDeatil) item;
GifAvatarOvalView avatarView = helper.getView(R.id.riv);
TextView tvName = helper.getView(R.id.tv_name);
TextView tv2 = helper.getView(R.id.tv_2);
TextView tv3 = helper.getView(R.id.tv_3);
TextView tv_go_to_room = helper.getView(R.id.tv_go_to_room);
ImageUtils.loadImageView(item1.getUser_head_picture(), avatarView);
tvName.setText(item1.getUser_nickname());
tv2.setText(item1.getGet_user_nickname());
tv3.setText(item1.getGift_name() + "x" + item1.getGift_number());
tv_go_to_room.setText(item1.getTotal_price() + "");
break;
}
}
}

View File

@@ -0,0 +1,24 @@
package com.example.modulevocal.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.GiftBean;
import com.qxcm.moduleutil.utils.ImageLoader;
public class UserGiftWallAdapter extends BaseQuickAdapter<GiftBean, BaseViewHolder> {
public UserGiftWallAdapter() {
super(R.layout.me_item_user_gift_wall);
}
@Override
protected void convert(BaseViewHolder helper, GiftBean item) {
ImageLoader.loadImage(mContext, helper.getView(R.id.riv_user_head), item.getPicture());
helper.setText(R.id.tv_gift_name, item.getName()).setText(R.id.tv_number, "x"+item.getNumber());
helper.setText(R.id.tv_price33, item.getPrice());
}
}

View File

@@ -0,0 +1,55 @@
package com.example.modulevocal.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.UserImgList;
import com.qxcm.moduleutil.utils.ImageUtils;
public class UserPhotoWallAdapter extends BaseQuickAdapter<UserImgList, BaseViewHolder> {
private boolean b = false;
private int longClickPos = -1;
public UserPhotoWallAdapter() {
super(R.layout.me_item_user_photo_wall);
}
@Override
protected void convert(BaseViewHolder helper, UserImgList item) {
if (helper.getAdapterPosition() == 5) {
helper.setVisible(R.id.riv_user_head, false);
helper.setVisible(R.id.iv_close, false);
} else {
helper.setVisible(R.id.riv_user_head, true);
if (!"0".equals(item.getId())) {
ImageUtils.loadCenterCrop(item.getUrl(), helper.getView(R.id.riv_user_head));
if (longClickPos == helper.getAdapterPosition()) {
helper.setVisible(R.id.iv_close, true);
} else {
helper.setVisible(R.id.iv_close, false);
}
} else {
helper.setImageResource(R.id.riv_user_head, com.qxcm.moduleutil.R.mipmap.add_img);
helper.setGone(R.id.iv_close, false);
}
}
helper.addOnClickListener(R.id.iv_close);
helper.addOnClickListener(R.id.riv_user_head);
helper.addOnLongClickListener(R.id.riv_user_head);
}
public void setDelete(boolean b) {
this.b = b;
notifyDataSetChanged();
}
public void setLongClickPos(int pos) {
this.longClickPos = pos;
notifyDataSetChanged();
}
public boolean getDelete() {
return b;
}
}

View File

@@ -0,0 +1,14 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
public class BriefIntroductionConacts {
public interface View extends IView<Activity> {
}
public interface IMePre extends IPresenter {
}
}

View File

@@ -0,0 +1,16 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
public class ChangeNicknameConacts {
public interface View extends IView<Activity> {
}
public interface IMePre extends IPresenter {
}
}

View File

@@ -0,0 +1,19 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
public final class ChangePasswordConactos {
public interface View extends IView<Activity> {
void sendCodeSuccess1(String phoneNumber);
void sendCodeSuccess(String s);
}
public interface ICreatedPre extends IPresenter {
void sendCode(String phoneNumber, String type);
void changePassword(String new_password,String mobile,String code,String userId);
}
}

View File

@@ -0,0 +1,35 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
import com.qxcm.moduleutil.bean.CheckTxtResp;
import java.io.File;
import java.util.List;
public final class CreatedRoomConactos {
public interface View extends IView<Activity> {
void checkTxtSuccess(CheckTxtResp result);
void addUserRoomSuccess(String roomId);
void upLoadSuccess(String url, int type);
}
public interface ICreatedRoomPre extends IPresenter {
void checkTxt(String content);
void addUserRoom(String roomName, String labelId,String cover_picture);
void roomLabel(String from);
void uploadFile(File file, int type);
}
}

View File

@@ -0,0 +1,16 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
public class CurrencyExchangeConacts {
public interface View extends IView<Activity> {
}
public interface IMePre extends IPresenter {
}
}

View File

@@ -0,0 +1,19 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
import java.io.File;
public class EditUserConactos {
public interface View extends IView<Activity> {
void upLoadSuccess(String url, int type);
}
public interface IMePre extends IPresenter {
void uploadFile(File file, int type);
}
}

View File

@@ -0,0 +1,15 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
public class MyBagConacts {
public interface View extends IView<Activity> {
}
public interface IMePre extends IPresenter {
}
}

View File

@@ -0,0 +1,16 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
import java.io.File;
public final class MyMoneyConactos {
public interface View extends IView<Activity> {
}
public interface IMePre extends IPresenter {
}
}

View File

@@ -0,0 +1,62 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
import com.qxcm.moduleutil.bean.AttentionResp;
import com.qxcm.moduleutil.bean.ManageRoomResp;
import com.qxcm.moduleutil.bean.MyFootResp;
import com.qxcm.moduleutil.bean.MyRoomBean;
import com.qxcm.moduleutil.bean.RoomDetails;
import java.util.List;
public final class MyRoomListContacts {
public interface View extends IView<Activity> {
void setMyInfo(MyRoomBean myRoom);
void setList(List<MyRoomBean> list, int type);
void delfootSuccess();
void setMyFootData(List<MyFootResp> data, int page);
void finishRefresh();
void setManageData(List<ManageRoomResp> data);
void setAttentionListData(List<AttentionResp> attentionResps);
}
public interface IRankingListPre extends IPresenter {
void getCharmList( int type);
void getWealthList( int type);
void getRoomList( int type);
void getNameAuthResult(int type);
void delfoot();
void getMyFoot(int page);
void getManageLists();
void getAttentionList();
}
public interface DeatilsView extends IView<Activity> {
void setList(RoomDetails list);
void finishRefresh();
}
public interface DeatilsListPre extends IPresenter {
void getCharmList(String room_id, String stime, String etime, String p,int type);
}
}

View File

@@ -0,0 +1,15 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
public class RechargeConactos {
public interface View extends IView<Activity> {
}
public interface IRechargePre extends IPresenter {
}
}

View File

@@ -0,0 +1,26 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
import com.qxcm.moduleutil.bean.RoomSubsidy;
import com.qxcm.moduleutil.bean.RoomSubsidyDetails;
import java.util.List;
public class RoomAllowanceContacts {
public interface DeatilsView extends IView<Activity> {
void setList(RoomSubsidy list);
void setHishoryList(List<RoomSubsidyDetails> list);
void finishRefresh();
}
public interface DeatilsListPre extends IPresenter {
void getCharmList(String room_id);
void getDetails(String room_id, String page);
}
}

View File

@@ -0,0 +1,23 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
import com.qxcm.moduleutil.bean.GiftBean;
import java.util.List;
public final class UserGiftWallConacts {
public interface View extends IView<Activity> {
void setGiftWall(List<GiftBean> data);
}
public interface IUserGiftWallPre extends IPresenter {
void giftWall(String userId);
}
}

View File

@@ -0,0 +1,25 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
import com.qxcm.moduleutil.bean.CircleListBean;
import com.qxcm.moduleutil.bean.UserHomeResp;
import java.util.List;
public class UserHomepageConacts {
public interface View extends IView<Activity> {
void setUserDetails(UserHomeResp data);
void setCircleList(List<CircleListBean> list);
}
public interface IMePre extends IPresenter {
void getUserDetails(String userId, String emchatUsername, boolean showLoading);//获取用户数据
void getCircleList();
}
}

View File

@@ -0,0 +1,17 @@
package com.example.modulevocal.conacts;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
public final class WithdrawalConacts {
public interface View extends IView<Activity> {
}
public interface IMePre extends IPresenter {
}
}

View File

@@ -0,0 +1,58 @@
package com.example.modulevocal.fragment;
import android.app.Activity;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.UserHomepageConacts;
import com.example.modulevocal.databinding.FragmentCirleListBinding;
import com.example.modulevocal.presenter.UserHomepagePresenter;
import com.qxcm.moduleutil.adapter.CirleListAdapter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.CircleListBean;
import com.qxcm.moduleutil.bean.UserHomeResp;
import java.util.List;
public class CirleListFragment extends BaseMvpFragment<UserHomepagePresenter, FragmentCirleListBinding> implements UserHomepageConacts.View{
public static CirleListFragment newInstance() {
return new CirleListFragment();
}
private CirleListAdapter cirleListAdapter;
@Override
public void setUserDetails(UserHomeResp data) {
}
@Override
protected UserHomepagePresenter bindPresenter() {
return new UserHomepagePresenter(this,getSelfActivity());
}
@Override
protected void initData() {
MvpPre.getCircleList();
}
@Override
protected void initView() {
mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
cirleListAdapter = new CirleListAdapter();
mBinding.recyclerView.setAdapter(cirleListAdapter);
}
@Override
protected int getLayoutId() {
return R.layout.fragment_cirle_list;
}
@Override
public void setCircleList(List<CircleListBean> list) {
cirleListAdapter.setNewData(list);
}
}

View File

@@ -0,0 +1,288 @@
package com.example.modulevocal.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.example.modulevocal.activity.RoomDetailsActivity;
import com.example.modulevocal.adapter.ChatRoomMyFootAdapter;
import com.example.modulevocal.conacts.MyRoomListContacts;
import com.example.modulevocal.databinding.RoomFragmentMyCreateBinding;
import com.example.modulevocal.presenter.MyRoomPresenter;
import com.hjq.toast.ToastUtils;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.AttentionResp;
import com.qxcm.moduleutil.bean.ManageRoomResp;
import com.qxcm.moduleutil.bean.MyFootResp;
import com.qxcm.moduleutil.bean.MyRoomBean;
import com.qxcm.moduleutil.utils.ImageUtils;
import com.qxcm.moduleutil.widget.CommonEmptyView;
import com.qxcm.moduleutil.widget.dialog.CommonDialog;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import org.greenrobot.eventbus.EventBus;
import java.util.List;
/**
*我创建的房间列表和足迹列表
*/
public class MyCreateFragment extends BaseMvpFragment<MyRoomPresenter, RoomFragmentMyCreateBinding> implements MyRoomListContacts.View {
public static final int TYPE_CREATE = 0;
public static final int TYPE_HOST = 1;
private int type;
private BaseQuickAdapter<MyRoomBean, BaseViewHolder> mAdapter;
private int page = 1;
private ChatRoomMyFootAdapter mChatRoomMyFootAdapter;
public static MyCreateFragment newInstance(int type) {
MyCreateFragment fragment = new MyCreateFragment();
Bundle args = new Bundle();
args.putInt("type", type);
fragment.setArguments(args);
return fragment;
}
@Override
protected MyRoomPresenter bindPresenter() {
return new MyRoomPresenter(this, getContext());
}
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
type = arguments.getInt("type", MyCreateFragment.TYPE_CREATE);
}
@Override
protected void initData() {
if (type == MyCreateFragment.TYPE_CREATE) {
MvpPre.getCharmList(0);//我创建的
MvpPre.getMyFoot(page);
} else if (type == MyCreateFragment.TYPE_HOST) {
MvpPre.getWealthList(1);
}
}
private void showDelFootDialog() {
if (isAdded() && getActivity() != null) {
CommonDialog commonDialog = new CommonDialog(getActivity());
commonDialog.setContent("确认清空您的足迹吗?");
commonDialog.setmOnClickListener(new CommonDialog.OnClickListener() {
@Override
public void onLeftClick() {
}
@Override
public void onRightClick() {
MvpPre.delfoot();
}
});
commonDialog.show();
}
}
@Override
protected void initView() {
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
page++;
MvpPre.getMyFoot(page);
}
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
// EventBus.getDefault().post(new BannerRefreshEvent());
page = 1;
MvpPre.getMyFoot(page);
}
});
mBinding.ivDeleteFoot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDelFootDialog();
//A0404点击删除我的足迹
}
});
mBinding.recycleViewFoot.setLayoutManager(new GridLayoutManager(getContext(),2));
mBinding.recycleViewFoot.setAdapter(mChatRoomMyFootAdapter = new ChatRoomMyFootAdapter());
mChatRoomMyFootAdapter.bindToRecyclerView(mBinding.recycleViewFoot);
CommonEmptyView commonEmptyView = new CommonEmptyView(getContext());
commonEmptyView.setEmptyText("亲亲,你还没去过任何房间哦~赶快动起来吧!");
commonEmptyView.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FFBDBDBC));
mChatRoomMyFootAdapter.setEmptyView(commonEmptyView);
mChatRoomMyFootAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
MyFootResp item = mChatRoomMyFootAdapter.getItem(position);
if (item != null) {
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("form", "历史记录列表").withString("roomId", item.getRoom_id()).navigation();
}
}
});
mBinding.rvMyRoomList.setLayoutManager(new LinearLayoutManager(getContext()));
mAdapter = new BaseQuickAdapter<MyRoomBean, BaseViewHolder>(R.layout.room_fragment_my_room_list, null) {
@Override
protected void convert(BaseViewHolder helper, MyRoomBean item) {
if (item.getCover_picture() == null||item.getCover_picture().equals("")) {
helper.setImageResource(R.id.riv, com.qxcm.moduleutil.R.mipmap.default_avatar);
} else {
ImageUtils.loadImageView(item.getCover_picture(), helper.getView(R.id.riv));
}
if (item.getLabel_icon()!=null) {
ImageUtils.loadImageView(item.getLabel_icon(), helper.getView(R.id.iv_play));
}
helper.setText(R.id.tv_name, item.getRoom_name());
helper.setText(R.id.tv_sy, item.getToday_income()+"");
helper.setText(R.id.tv_user_id, "ID: " + item.getRoom_id());
if (type == MyRoomListFragment.TYPE_CREATE) {
helper.setText(R.id.tv_bl, "今日收益");
} else if (type == MyRoomListFragment.TYPE_HOST) {
helper.setText(R.id.tv_bl, "收益分成比例: " + item.getEarnings_ratio() + "%");
}
String concernText = "关注:" + item.getFavorite_count();
SpannableString spannableString = new SpannableString(concernText);
// 设置关注数字部分的颜色为黑色
spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), android.R.color.black)), 2, concernText.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
helper.setText(R.id.tv_gz, spannableString);
String concernText1 = "在线:" + item.getOnline_num();
SpannableString spannableString1 = new SpannableString(concernText1);
// 设置关注数字部分的颜色为黑色
spannableString1.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), android.R.color.black)), 2, concernText1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
helper.setText(R.id.tv_zx, spannableString1);
String concernText2 = "访问:" + item.getCome_count();
SpannableString spannableString2 = new SpannableString(concernText2);
// 设置关注数字部分的颜色为黑色
spannableString2.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), android.R.color.black)), 2, concernText2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
helper.setText(R.id.tv_fw, spannableString2);
helper.getView(R.id.rl_mx).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO: 跳转到房间详情页面
startActivity(new Intent(getContext(),RoomDetailsActivity.class));
// ARouter.getInstance().build(ARouteConstants.MY_ROOM_DETAIL).withString("roomId", item.getRoom_id() + "").withInt("type",type ).navigation();
}
});
helper.getView(R.id.cl_my_room_list).setOnClickListener(new View.OnClickListener() {//跳转房间
@Override
public void onClick(View v) {
// TODO: 跳转到房间
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
}
});
switch (helper.getLayoutPosition() % 3) {
case 0:
helper.getView(R.id.cl_my_room_list).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.my_cr_room1);
break;
case 1:
helper.getView(R.id.cl_my_room_list).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.my_croom2);
break;
case 2:
helper.getView(R.id.cl_my_room_list).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.my_croom3);
break;
}
}
};
mBinding.rvMyRoomList.setAdapter(mAdapter);
mAdapter.bindToRecyclerView(mBinding.rvMyRoomList);
}
@Override
protected int getLayoutId() {
return R.layout.room_fragment_my_create;
}
@Override
public void setMyInfo(MyRoomBean myRoom) {
}
@Override
public void setList(List<MyRoomBean> list, int type) {
// TODO: 刷新列表
if (type == MyCreateFragment.TYPE_CREATE) {
if (list.isEmpty()) {
mBinding.rvMyRoomList.setVisibility(View.GONE);
mBinding.tvNoData.setVisibility(View.VISIBLE);
} else {
mBinding.rvMyRoomList.setVisibility(View.VISIBLE);
mBinding.tvNoData.setVisibility(View.GONE);
mAdapter.setNewData(list);
}
} else if (type == MyCreateFragment.TYPE_HOST) {
if (list.isEmpty()) {
mBinding.rvMyRoomList.setVisibility(View.GONE);
mBinding.tvNoData.setVisibility(View.VISIBLE);
} else {
mBinding.rvMyRoomList.setVisibility(View.VISIBLE);
mBinding.tvNoData.setVisibility(View.GONE);
mAdapter.setNewData(list);
}
}
}
@Override
public void delfootSuccess() {
page = 1;
MvpPre.getMyFoot(page);
ToastUtils.show("清空足迹成功");
}
@Override
public void setMyFootData(List<MyFootResp> data, int page) {
// if (data == null || data.size() == 0) {
// mBinding.ivDeleteFoot.setVisibility(View.GONE);
// } else {
// mBinding.ivDeleteFoot.setVisibility(View.VISIBLE);
// }
if (page == 1) {
mChatRoomMyFootAdapter.setNewData(data);
} else {
if (data == null || data.size() == 0) {
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData();
} else {
mChatRoomMyFootAdapter.addData(data);
}
}
}
@Override
public void finishRefresh() {
mBinding.smartRefreshLayout.finishRefresh();
mBinding.smartRefreshLayout.finishLoadMore();
}
@Override
public void setManageData(List<ManageRoomResp> data) {
}
@Override
public void setAttentionListData(List<AttentionResp> attentionResps) {
}
}

View File

@@ -0,0 +1,117 @@
package com.example.modulevocal.fragment;
import android.os.Bundle;
import android.view.View;
import androidx.recyclerview.widget.GridLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.ChatRoomMyFollowAdapter;
import com.example.modulevocal.conacts.MyRoomListContacts;
import com.example.modulevocal.databinding.RoomFragmentMyFollowBinding;
import com.example.modulevocal.presenter.MyRoomPresenter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.AttentionResp;
import com.qxcm.moduleutil.bean.ManageRoomResp;
import com.qxcm.moduleutil.bean.MyFootResp;
import com.qxcm.moduleutil.bean.MyRoomBean;
import com.qxcm.moduleutil.widget.CommonEmptyView;
import java.util.List;
/**
*我的关注房间
*/
public class MyFollowFragment extends BaseMvpFragment<MyRoomPresenter, RoomFragmentMyFollowBinding> implements MyRoomListContacts.View {
public static final int TYPE_GZ = 3;
private int type;
private ChatRoomMyFollowAdapter followAdapter;
public static MyFollowFragment newInstance(int type) {
MyFollowFragment fragment = new MyFollowFragment();
Bundle args = new Bundle();
args.putInt("type", type);
fragment.setArguments(args);
return fragment;
}
@Override
protected MyRoomPresenter bindPresenter() {
return new MyRoomPresenter(this, getActivity());
}
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
type = arguments.getInt("type", MyFollowFragment.TYPE_GZ);
}
@Override
protected void initData() {
if (type == MyFollowFragment.TYPE_GZ) {
MvpPre.getAttentionList();
}
}
@Override
protected void initView() {
mBinding.recycleView.setLayoutManager(new GridLayoutManager(getContext(),2));
mBinding.recycleView.setAdapter(followAdapter = new ChatRoomMyFollowAdapter());
followAdapter.bindToRecyclerView(mBinding.recycleView);
CommonEmptyView commonEmptyView = new CommonEmptyView(getContext());
commonEmptyView.setEmptyText("亲亲,你还没管理任何房间哦~赶快动起来吧!");
commonEmptyView.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FFBDBDBC));
followAdapter.setEmptyView(commonEmptyView);
followAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
AttentionResp item = followAdapter.getItem(position);
if (item != null) {
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("form", "历史记录列表").withString("roomId", item.getRoom_id()).navigation();
}
}
});
}
@Override
protected int getLayoutId() {
return R.layout.room_fragment_my_follow;
}
@Override
public void setMyInfo(MyRoomBean myRoom) {
}
@Override
public void setList(List<MyRoomBean> list, int type) {
}
@Override
public void delfootSuccess() {
}
@Override
public void setMyFootData(List<MyFootResp> data, int page) {
}
@Override
public void finishRefresh() {
}
@Override
public void setManageData(List<ManageRoomResp> data) {
}
@Override
public void setAttentionListData(List<AttentionResp> attentionResps) {
followAdapter.setNewData(attentionResps);
}
}

View File

@@ -0,0 +1,119 @@
package com.example.modulevocal.fragment;
import android.os.Bundle;
import android.view.View;
import androidx.recyclerview.widget.GridLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.example.modulevocal.R;
import com.example.modulevocal.adapter.ChatRoomMyManageAdapter;
import com.example.modulevocal.conacts.MyRoomListContacts;
import com.example.modulevocal.databinding.RoomFragmentMyManageBinding;
import com.example.modulevocal.presenter.MyRoomPresenter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.AttentionResp;
import com.qxcm.moduleutil.bean.ManageRoomResp;
import com.qxcm.moduleutil.bean.MyFootResp;
import com.qxcm.moduleutil.bean.MyRoomBean;
import com.qxcm.moduleutil.widget.CommonEmptyView;
import java.util.List;
/**
* 我管理的房间
*/
public class MyManageFragment extends BaseMvpFragment<MyRoomPresenter, RoomFragmentMyManageBinding> implements MyRoomListContacts.View {
public static final int TYPE_GL = 2;
public static final int TYPE_GZ = 3;
private int type;
private ChatRoomMyManageAdapter manageAdapter;
public static MyManageFragment newInstance(int type) {
MyManageFragment fragment = new MyManageFragment();
Bundle args = new Bundle();
args.putInt("type", type);
fragment.setArguments(args);
return fragment;
}
@Override
protected MyRoomPresenter bindPresenter() {
return new MyRoomPresenter(this, getActivity());
}
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
type = arguments.getInt("type", MyManageFragment.TYPE_GL);
}
@Override
protected void initData() {
if (type == MyManageFragment.TYPE_GL) {
MvpPre.getManageLists();
}
}
@Override
protected void initView() {
mBinding.recycleView.setLayoutManager(new GridLayoutManager(getContext(),2));
mBinding.recycleView.setAdapter(manageAdapter = new ChatRoomMyManageAdapter());
manageAdapter.bindToRecyclerView(mBinding.recycleView);
CommonEmptyView commonEmptyView = new CommonEmptyView(getContext());
commonEmptyView.setEmptyText("亲亲,你还没管理任何房间哦~赶快动起来吧!");
commonEmptyView.setTextColor(getResources().getColor(com.qxcm.moduleutil.R.color.color_FFBDBDBC));
manageAdapter.setEmptyView(commonEmptyView);
manageAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
ManageRoomResp item = manageAdapter.getItem(position);
if (item != null) {
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("form", "历史记录列表").withString("roomId", item.getRoom_id()).navigation();
}
}
});
}
@Override
protected int getLayoutId() {
return R.layout.room_fragment_my_manage;
}
@Override
public void setMyInfo(MyRoomBean myRoom) {
}
@Override
public void setList(List<MyRoomBean> list, int type) {
}
@Override
public void delfootSuccess() {
}
@Override
public void setMyFootData(List<MyFootResp> data, int page) {
}
@Override
public void finishRefresh() {
}
@Override
public void setManageData(List<ManageRoomResp> data) {
manageAdapter.setNewData(data);
}
@Override
public void setAttentionListData(List<AttentionResp> attentionResps) {
}
}

View File

@@ -0,0 +1,220 @@
package com.example.modulevocal.fragment;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.MyRoomListContacts;
import com.example.modulevocal.databinding.RoomFragmentMyRoomListListBinding;
import com.example.modulevocal.presenter.MyRoomPresenter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.AttentionResp;
import com.qxcm.moduleutil.bean.ManageRoomResp;
import com.qxcm.moduleutil.bean.MyFootResp;
import com.qxcm.moduleutil.bean.MyRoomBean;
import com.qxcm.moduleutil.utils.ImageUtils;
import java.util.List;
/**
* A fragment representing a list of Items.
* 我主持的房间列表
*/
public class MyRoomListFragment extends BaseMvpFragment<MyRoomPresenter, RoomFragmentMyRoomListListBinding> implements MyRoomListContacts.View {
public static final int TYPE_CREATE = 0;
public static final int TYPE_HOST = 1;
private int type;
private BaseQuickAdapter<MyRoomBean, BaseViewHolder> mAdapter;
// TODO: Customize parameter initialization
@SuppressWarnings("unused")
public static MyRoomListFragment newInstance(int type) {
MyRoomListFragment fragment = new MyRoomListFragment();
Bundle args = new Bundle();
args.putInt("type", type);
fragment.setArguments(args);
return fragment;
}
@Override
protected MyRoomPresenter bindPresenter() {
return new MyRoomPresenter(this, getActivity());
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
// EventBus.getDefault().register(this);
super.onViewCreated(view, savedInstanceState);
}
@Override
public void onDestroyView() {
// EventBus.getDefault().unregister(this);
super.onDestroyView();
}
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
type = arguments.getInt("type", MyRoomListFragment.TYPE_CREATE);
}
@Override
protected void initData() {
if (type == MyRoomListFragment.TYPE_CREATE) {
MvpPre.getCharmList(0);//我创建的
} else if (type == MyRoomListFragment.TYPE_HOST) {
MvpPre.getWealthList(1);
}
}
@Override
protected void initView() {
mBinding.rvMyRoomList.setLayoutManager(new LinearLayoutManager(getContext()));
mAdapter = new BaseQuickAdapter<MyRoomBean, BaseViewHolder>(R.layout.room_fragment_my_room_list, null) {
@Override
protected void convert(BaseViewHolder helper, MyRoomBean item) {
if (item.getCover_picture() == null||item.getCover_picture().equals("")) {
helper.setImageResource(R.id.riv, com.qxcm.moduleutil.R.mipmap.default_avatar);
} else {
ImageUtils.loadImageView(item.getCover_picture(), helper.getView(R.id.riv));
}
if (item.getLabel_icon()!=null) {
ImageUtils.loadImageView(item.getLabel_icon(), helper.getView(R.id.iv_play));
}
helper.setText(R.id.tv_name, item.getRoom_name());
helper.setText(R.id.tv_sy, item.getToday_income()+"");
helper.setText(R.id.tv_user_id, "ID: " + item.getRoom_id());
if (type == MyRoomListFragment.TYPE_CREATE) {
helper.setText(R.id.tv_bl, "今日收益");
} else if (type == MyRoomListFragment.TYPE_HOST) {
helper.setText(R.id.tv_bl, "收益分成比例: " + item.getEarnings_ratio() + "%");
}
String concernText = "关注:" + item.getFavorite_count();
SpannableString spannableString = new SpannableString(concernText);
// 设置关注数字部分的颜色为黑色
spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), android.R.color.black)), 2, concernText.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
helper.setText(R.id.tv_gz, spannableString);
String concernText1 = "在线:" + item.getOnline_num();
SpannableString spannableString1 = new SpannableString(concernText1);
// 设置关注数字部分的颜色为黑色
spannableString1.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), android.R.color.black)), 2, concernText1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
helper.setText(R.id.tv_zx, spannableString1);
String concernText2 = "访问:" + item.getCome_count();
SpannableString spannableString2 = new SpannableString(concernText2);
// 设置关注数字部分的颜色为黑色
spannableString2.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), android.R.color.black)), 2, concernText2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
helper.setText(R.id.tv_fw, spannableString2);
helper.getView(R.id.rl_mx).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO: 跳转到房间详情页面
// ARouter.getInstance().build(ARouteConstants.MY_ROOM_DETAIL).withString("roomId", item.getRoom_id() + "").withInt("type",type ).navigation();
}
});
helper.getView(R.id.cl_my_room_list).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO: 跳转到房间详情页面
// ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("from", "我的界面").withString("roomId", item.getRoom_id() + "").navigation();
}
});
switch (helper.getLayoutPosition() % 3) {
case 0:
helper.getView(R.id.cl_my_room_list).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.my_cr_room1);
break;
case 1:
helper.getView(R.id.cl_my_room_list).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.my_croom2);
break;
case 2:
helper.getView(R.id.cl_my_room_list).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.my_croom3);
break;
}
}
};
mBinding.rvMyRoomList.setAdapter(mAdapter);
mAdapter.bindToRecyclerView(mBinding.rvMyRoomList);
}
@Override
protected int getLayoutId() {
return R.layout.room_fragment_my_room_list_list;
}
@Override
public void setMyInfo(MyRoomBean myRoom) {
}
@Override
public void setList(List<MyRoomBean> list, int type) {
// TODO: 刷新列表
if (type == MyRoomListFragment.TYPE_CREATE) {
if (list.isEmpty()) {
mBinding.rvMyRoomList.setVisibility(View.GONE);
mBinding.tvNoData.setVisibility(View.VISIBLE);
} else {
mBinding.rvMyRoomList.setVisibility(View.VISIBLE);
mBinding.tvNoData.setVisibility(View.GONE);
mAdapter.setNewData(list);
}
} else if (type == MyRoomListFragment.TYPE_HOST) {
if (list.isEmpty()) {
mBinding.rvMyRoomList.setVisibility(View.GONE);
mBinding.tvNoData.setVisibility(View.VISIBLE);
} else {
mBinding.rvMyRoomList.setVisibility(View.VISIBLE);
mBinding.tvNoData.setVisibility(View.GONE);
mAdapter.setNewData(list);
}
}
}
@Override
public void delfootSuccess() {
}
@Override
public void setMyFootData(List<MyFootResp> data, int page) {
}
@Override
public void finishRefresh() {
}
@Override
public void setManageData(List<ManageRoomResp> data) {
}
@Override
public void setAttentionListData(List<AttentionResp> attentionResps) {
}
}

View File

@@ -0,0 +1,80 @@
package com.example.modulevocal.fragment;
import android.os.Bundle;
import android.view.View;
import com.example.modulevocal.R;
import com.example.modulevocal.activity.UserHomepageActivity;
import com.example.modulevocal.adapter.UserGiftWallAdapter;
import com.example.modulevocal.conacts.UserGiftWallConacts;
import com.example.modulevocal.databinding.MeFagmentUserGiftWallBinding;
import com.example.modulevocal.presenter.UserGiftWallPresenter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.GiftBean;
import com.qxcm.moduleutil.widget.pagerecyclerview.PagerGridLayoutManager;
import com.qxcm.moduleutil.widget.pagerecyclerview.PagerGridSnapHelper;
import java.util.List;
/**
* 礼物墙
*/
public class UserGiftWallFragment extends BaseMvpFragment<UserGiftWallPresenter, MeFagmentUserGiftWallBinding> implements UserGiftWallConacts.View {
public String userId;
private UserGiftWallAdapter mUserGiftWallAdapter;
private UserHomepageActivity homePageInfoActivity;
public static UserGiftWallFragment newInstance(String userId) {
UserGiftWallFragment fragment = new UserGiftWallFragment();
Bundle bundle = new Bundle();
bundle.putString("userId", userId);
fragment.setArguments(bundle);
return fragment;
}
@Override
protected UserGiftWallPresenter bindPresenter() {
return new UserGiftWallPresenter(this, getContext());
}
@Override
protected void initData() {
userId = getArguments().getString("userId");
MvpPre.giftWall(userId);
}
@Override
protected void initView() {
PagerGridLayoutManager layoutManager = new PagerGridLayoutManager(2, 4, PagerGridLayoutManager.HORIZONTAL);
mBinding.recyclerView.setLayoutManager(layoutManager);
// mBinding.recyclerView.setOnFlingListener(null);
// 设置滚动辅助工具
PagerGridSnapHelper pageSnapHelper = new PagerGridSnapHelper();
pageSnapHelper.attachToRecyclerView(mBinding.recyclerView);
mBinding.recyclerView.setAdapter(mUserGiftWallAdapter = new UserGiftWallAdapter());
}
@Override
protected int getLayoutId() {
return R.layout.me_fagment_user_gift_wall;
}
@Override
public void setGiftWall(List<GiftBean> data) {
// if (data != null && data.size() > 0) {
// if (homePageInfoActivity != null) {
// homePageInfoActivity.setTab(2);
// }
mUserGiftWallAdapter.setNewData(data);
mBinding.slGiftWall.setVisibility(View.VISIBLE);
//
// }
}
}

View File

@@ -0,0 +1,110 @@
package com.example.modulevocal.fragment;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.UserHomepageConacts;
import com.example.modulevocal.databinding.FragmentUserHompageBinding;
import com.example.modulevocal.presenter.UserHomepagePresenter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.CircleListBean;
import com.qxcm.moduleutil.bean.MyBagBean;
import com.qxcm.moduleutil.bean.UserHomeResp;
import java.util.ArrayList;
import java.util.List;
public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter, FragmentUserHompageBinding> implements UserHomepageConacts.View{
private List<MyBagBean> list;
private String userId;
@Override
public void setUserDetails(UserHomeResp mUserHomeResp) {
}
@Override
public void setCircleList(List<CircleListBean> list) {
}
public static UserHomepageFragment newInstance(String userId) {
UserHomepageFragment fragment = new UserHomepageFragment();
Bundle args = new Bundle();
args.putString("userId", userId);
fragment.setArguments(args);
return fragment;
}
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
userId = arguments.getString("userId");
}
@Override
protected UserHomepagePresenter bindPresenter() {
return new UserHomepagePresenter(this,getSelfActivity());
}
@Override
protected void initData() {
list=new ArrayList<>();
list.add(new MyBagBean("动态", "1"));
list.add(new MyBagBean("礼物墙", "2"));
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(getChildFragmentManager(), list,userId));
mBinding.slidingTabLayout.setViewPager(mBinding.viewPager);
mBinding.slidingTabLayout.setCurrentTab(0);
}
@Override
protected void initView() {
mBinding.constraintLayout.setVisibility(View.VISIBLE);
}
@Override
protected int getLayoutId() {
return R.layout.fragment_user_hompage;
}
private static class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
private List<MyBagBean> list;
private String userId;
public MyFragmentPagerAdapter(FragmentManager fm, List<MyBagBean> list,String userId) {
super(fm);
this.list = list;
this.userId = userId;
}
@Override
public Fragment getItem(int position) {
MyBagBean model = list.get(position);
if ("1".equals(model.getMyBagType())){
return CirleListFragment.newInstance();
}else {
return UserGiftWallFragment.newInstance(userId);
}
}
@Override
public int getCount() {
return list.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
MyBagBean model = list.get(position);
return model.getMyBagTitle();
}
}
}

View File

@@ -9,24 +9,24 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.modulevocal.R;
import com.example.modulevocal.activity.BlacklistActivity;
import com.example.modulevocal.activity.EditUserInfoActivity;
import com.example.modulevocal.activity.MyBagActivity;
import com.example.modulevocal.activity.MyMoneyActivity;
import com.example.modulevocal.activity.MyRoomActivity;
import com.example.modulevocal.activity.PersonalityActivity;
import com.example.modulevocal.activity.SettingActivity;
import com.example.modulevocal.activity.UserHomepageActivity;
import com.example.modulevocal.conacts.MeConacts;
import com.example.modulevocal.databinding.FragmentVocalRangeBinding;
import com.example.modulevocal.presenter.MePresenter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import com.qxcm.moduleutil.bean.UserBean;
import com.qxcm.moduleutil.utils.SpUtil;
/**
* 音域--我的
@@ -34,6 +34,7 @@ import java.util.List;
public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVocalRangeBinding> implements MeConacts.View {
// private MyInfoResp mMyInfoResp;
private UserBean userBean;
public static VocalRangeFragment newInstance() {
return new VocalRangeFragment();
@@ -56,6 +57,9 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
@Override
protected void initData() {
// MvpPre.entranceCheckFirstRecharge();
userBean= SpUtil.getUserInfo();
mBinding.rivUserHead.setData(userBean.getAvatar(), "", String.valueOf(userBean.getSex()));
}
// private final MeItemAdapter.OnMeItemClickListener onMeItemClickListener = item -> {
@@ -138,6 +142,8 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
mBinding.beautifulViewCopy.setOnClickListener(this::onClick);
// mBinding.meMyShare.setOnClickListener(this::onClick);
mBinding.tvHome.setOnClickListener(this::onClick);
mBinding.meDressUp.setOnClickListener(this::onClick);
mBinding.tvMyWallet.setOnClickListener(this::onClick);
}
@@ -162,6 +168,9 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
} else if (id == R.id.ll_follow) {
// ARouter.getInstance().build(ARouteConstants.ME_MY_FRIENDS).withInt("type", 1).navigation();
// AppLogUtil.reportAppLog(AppLogEvent.C0110);
Intent intent=new Intent(getContext(), BlacklistActivity.class);
intent.putExtra("type",0);
startActivity(intent);
}
// else if (id == R.id.me_my_union) {
// if (ProxyCheckerT.isProxySet(getContext())){
@@ -178,8 +187,9 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
// startActivity(intent);
// }
else if (id == R.id.ll_fans) {
// ARouter.getInstance().build(ARouteConstants.ME_MY_FRIENDS).withInt("type", 2).navigation();
// AppLogUtil.reportAppLog(AppLogEvent.C0111);
Intent intent=new Intent(getContext(), BlacklistActivity.class);
intent.putExtra("type",2);
startActivity(intent);
} else if (id == R.id.ll_friends) {
// ARouter.getInstance().build(ARouteConstants.ME_MY_FRIENDS).withInt("type", 0).navigation();
// AppLogUtil.reportAppLog(AppLogEvent.C0112);
@@ -193,22 +203,15 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
//// ARouter.getInstance().build(ARouteConstants.ME_PROFIT).withString("from", "我的界面").withBoolean("showExDlg", true).navigation();
// }
else if (id == R.id.me_my_wallets) {
//我的钱包
// ARouter.getInstance().build(ARouteConstants.ME_WALLETS).withString("from", "我的界面").navigation();
} else if (id == R.id.tv_nick_name || id == R.id.riv_user_head || id == R.id.tv_home) {
//我的空间
// if (mMyInfoResp != null) {
// ARouter.getInstance().build(ARouteConstants.NEW_HOME_PAGE).withString("userId", mMyInfoResp.getUser_id()).navigation();
// }
}
// else if (id == R.id.tv_my_room) {
// //我的房间
//// if (mMyInfoResp != null) {
////
//// ARouter.getInstance().build(ARouteConstants.MY_ROOM_LIST).withString("from", "我的界面").withString("roomId", mMyInfoResp.getRoom_id()).withInt("auth_status", mMyInfoResp.getAuth_status()).navigation();
//// }
// }
else if (id == R.id.tv_my_jw) {
//我的房间
startActivity(new Intent(getContext(), MyRoomActivity.class));
} else if (id == R.id.tv_nick_name || id == R.id.tv_home) {//编辑信息
startActivity(new Intent(getContext(), EditUserInfoActivity.class));
}else if (id == R.id.tv_my_wallet){//钱包
startActivity(new Intent(getContext(), MyMoneyActivity.class));
}else if (id == R.id.riv_user_head ){//用户主页
startActivity(new Intent(getContext(), UserHomepageActivity.class));
}else if (id == R.id.tv_my_jw) {
//我的爵位
// ARouter.getInstance().build(ARouteConstants.ME_GRADEACTIVITY).withString("from", "我的界面").withInt("type", 0).navigation();
@@ -232,9 +235,13 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
// //装扮商城
// ARouter.getInstance().build(ARouteConstants.ME_SHOP).withString("from", "我的界面").navigation();
// }
else if (id == R.id.me_dress_up){//个性装扮
startActivity(new Intent(getContext(), PersonalityActivity.class));
}
else if (id == R.id.tv_my_bb) {
//我的背包
// ARouter.getInstance().build(ARouteConstants.ME_KNAPSACK).withString("from", "我的界面").navigation();
startActivity(new Intent(getContext(), MyBagActivity.class));
}
// else if (id == R.id.me_my_custom) {
//
@@ -243,7 +250,7 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
// } else if (id == R.id.me_my_help) {
// ARouter.getInstance().build(ARouteConstants.ME_HELP).navigation();
// }
else if (id == R.id.iv_sz) {
else if (id == R.id.iv_sz) {//设置
startActivity(new Intent(getContext(), SettingActivity.class));
}
// else if (id == R.id.me_my_certification) {

View File

@@ -0,0 +1,21 @@
package com.example.modulevocal.fragment.mybag;
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import com.qxcm.moduleutil.utils.ImageUtils;
public class MyBagAdapter extends BaseQuickAdapter<ZhuangBanShangChengBean, BaseViewHolder> {
public MyBagAdapter() {
super(R.layout.item_my_bag);
}
@Override
protected void convert(BaseViewHolder helper, ZhuangBanShangChengBean item) {
ImageUtils.loadHeadCC(item.getBase_image(), helper.getView(R.id.iv_img));
helper.setText(R.id.integral, item.getIntegral())
.setText(R.id.tv_name_period, item.getTitle());
}
}

View File

@@ -0,0 +1,62 @@
package com.example.modulevocal.fragment.mybag;
import android.os.Bundle;
import androidx.recyclerview.widget.GridLayoutManager;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.MyBagConacts;
import com.example.modulevocal.databinding.FragmentMyBagBinding;
import com.example.modulevocal.presenter.MyBagPresenter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import java.util.ArrayList;
import java.util.List;
public class MyBagFragment extends BaseMvpFragment<MyBagPresenter, FragmentMyBagBinding> implements MyBagConacts.View{
MyBagAdapter mAdapter;
private List<ZhuangBanShangChengBean> zhuangBanShangChengBeanList;
public static MyBagFragment newInstance(String type) {
Bundle args = new Bundle();
args.putString("type", type);
MyBagFragment fragment = new MyBagFragment();
fragment.setArguments(args);
return fragment;
}
@Override
protected MyBagPresenter bindPresenter() {
return new MyBagPresenter(this,getActivity());
}
@Override
protected void initData() {
zhuangBanShangChengBeanList=new ArrayList<>();
for (int i = 0; i < 6; i++) {
ZhuangBanShangChengBean zhuangBanShangChengBean=new ZhuangBanShangChengBean();
zhuangBanShangChengBean.setTitle("标题"+i);
zhuangBanShangChengBean.setIntegral("积分"+i);
zhuangBanShangChengBean.setPeriod(i);
zhuangBanShangChengBean.setType("类型"+i);
zhuangBanShangChengBean.setBase_image("");
zhuangBanShangChengBeanList.add(zhuangBanShangChengBean);
}
mAdapter=new MyBagAdapter();
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 3);
mBinding.rvMyBag.setLayoutManager(gridLayoutManager);
mBinding.rvMyBag.setAdapter(mAdapter);
mAdapter.setNewData(zhuangBanShangChengBeanList);
}
@Override
protected void initView() {
}
@Override
protected int getLayoutId() {
return R.layout.fragment_my_bag;
}
}

View File

@@ -0,0 +1,19 @@
package com.example.modulevocal.fragment.mybag;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.MyBagDataBean;
public class MyBagListAdapter extends BaseQuickAdapter<MyBagDataBean, BaseViewHolder> {
public MyBagListAdapter() {
super(R.layout.item_my_bag_data);
}
@Override
protected void convert(BaseViewHolder helper, MyBagDataBean item) {
helper.setText(R.id.tv_title, item.getTitle());
helper.setText(R.id.tv_time, item.getTime());
helper.setText(R.id.tv_gift_name, item.getGiftName());
}
}

View File

@@ -0,0 +1,72 @@
package com.example.modulevocal.fragment.mybag;
import android.os.Bundle;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.example.modulevocal.R;
import com.example.modulevocal.conacts.MyBagConacts;
import com.example.modulevocal.databinding.FragmentMyBagBinding;
import com.example.modulevocal.databinding.FragmentMyBagListBinding;
import com.example.modulevocal.fragment.MyRoomListFragment;
import com.example.modulevocal.presenter.MyBagPresenter;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.MyBagDataBean;
import com.qxcm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
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;
public static MyBagListFragment newInstance(String type) {
Bundle args = new Bundle();
args.putString("type", type);
MyBagListFragment fragment = new MyBagListFragment();
fragment.setArguments(args);
return fragment;
}
@Override
protected MyBagPresenter bindPresenter() {
return new MyBagPresenter(this,getActivity());
}
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
type = arguments.getString("type", "2");
}
@Override
protected void initData() {
myBagDataBeanList=new ArrayList<>();
for (int i = 0; i < 6; i++) {
MyBagDataBean myBagDataBean=new MyBagDataBean();
myBagDataBean.setTitle("标题"+i);
myBagDataBean.setGiftName("礼物"+i);
myBagDataBean.setTime("时间"+i);
myBagDataBean.setBase_image("");
myBagDataBeanList.add(myBagDataBean);
}
mAdapter=new MyBagListAdapter();
mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
mBinding.recyclerView.setAdapter(mAdapter);
mAdapter.setNewData(myBagDataBeanList);
}
@Override
protected void initView() {
}
@Override
protected int getLayoutId() {
return R.layout.fragment_my_bag_list;
}
}

View File

@@ -0,0 +1,41 @@
package com.example.modulevocal.fragment.zhuangb;
import android.view.View;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.example.modulevocal.R;
import com.qxcm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import com.qxcm.moduleutil.utils.ImageUtils;
public class ZhuangBanShangChengAdapter extends BaseQuickAdapter<ZhuangBanShangChengBean, BaseViewHolder> {
public ZhuangBanShangChengAdapter() {
super(R.layout.item_zhuangbanschangcheng_list);
}
@Override
protected void convert(BaseViewHolder helper, ZhuangBanShangChengBean item) {
if (item==null){
}else {
helper.addOnClickListener(R.id.zb_bg_ll);
ImageUtils.loadHeadCC(item.getBase_image(), helper.getView(R.id.iv_img));
helper.setText(R.id.integral, item.getIntegral())
.setText(R.id.tv_name_period, item.getTitle());
// .setText(R.id.tv_time, "(有效期${item.period}天)")
if (item.isIs_select()) {
helper.getView(R.id.zb_bg).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.sect_true);
helper.getView(R.id.tv_name_period).setSelected(true);
helper.getView(R.id.integral).setSelected(true);
} else {
helper.getView(R.id.zb_bg).setBackgroundResource(com.qxcm.moduleutil.R.mipmap.sect_false);
helper.getView(R.id.tv_name_period).setSelected(false);
helper.getView(R.id.integral).setSelected(false);
}
}
}
}

View File

@@ -0,0 +1,17 @@
package com.example.modulevocal.fragment.zhuangb;
import android.app.Activity;
import com.qxcm.moduleutil.activity.IPresenter;
import com.qxcm.moduleutil.activity.IView;
public class ZhuangBanShangChengConactos {
public interface View extends IView<Activity> {
}
public interface ICreatedRoomPre extends IPresenter {
}
}

View File

@@ -0,0 +1,107 @@
package com.example.modulevocal.fragment.zhuangb;
import static com.qxcm.moduleutil.utils.ImageLoader.loadImage;
import android.os.Bundle;
import android.view.View;
import androidx.recyclerview.widget.GridLayoutManager;
import com.example.modulevocal.R;
import com.example.modulevocal.databinding.ZhuangbanRecyclerviewNorefBinding;
import com.example.modulevocal.fragment.MyRoomListFragment;
import com.example.modulevocal.presenter.MyRoomPresenter;
import com.opensource.svgaplayer.SVGAImageView;
import com.qxcm.moduleutil.base.BaseMvpFragment;
import com.qxcm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import java.util.ArrayList;
import java.util.List;
public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangChengPresenter, ZhuangbanRecyclerviewNorefBinding> implements ZhuangBanShangChengConactos.View {
private int type;
private List<ZhuangBanShangChengBean> zhuangBanShangChengBeanList;
int pSelect = -1;
private int did;
@Override
protected ZhuangBanShangChengPresenter bindPresenter() {
return new ZhuangBanShangChengPresenter(this, getActivity());
}
public static ZhuangBanShangChengFragment newInstance(int type) {
ZhuangBanShangChengFragment fragment = new ZhuangBanShangChengFragment();
Bundle args = new Bundle();
args.putInt("type", type);
fragment.setArguments(args);
return fragment;
}
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
type = arguments.getInt("type", MyRoomListFragment.TYPE_CREATE);
}
@Override
protected void initData() {
//这里根据传递的type进行数据查询
zhuangBanShangChengBeanList=new ArrayList<>();
for (int i = 0; i < 10; i++) {
ZhuangBanShangChengBean zhuangBanShangChengBean=new ZhuangBanShangChengBean();
zhuangBanShangChengBean.setTitle("标题"+i);
zhuangBanShangChengBean.setIntegral("积分"+i);
zhuangBanShangChengBean.setPeriod(i);
zhuangBanShangChengBean.setType("类型"+i);
zhuangBanShangChengBean.setBase_image("");
zhuangBanShangChengBeanList.add(zhuangBanShangChengBean);
}
SVGAImageView imageBg = (SVGAImageView) getActivity().findViewById(R.id.image_headPortrait);
ZhuangBanShangChengAdapter adapter = new ZhuangBanShangChengAdapter();
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 3);
mBinding.recyclerView.setLayoutManager(gridLayoutManager);
mBinding.recyclerView.setAdapter(adapter);
adapter.setOnItemChildClickListener((adapter1, view, position) -> {
List<ZhuangBanShangChengBean> list = (List<ZhuangBanShangChengBean>) adapter1.getData();
if (pSelect != -1 && pSelect != position) {
list.get(pSelect).setIs_select(false);
list.get(position).setIs_select(true);
pSelect = position;
did = list.get(position).getDid();
mBinding.ll.setVisibility(View.VISIBLE);
loadImage(getContext(),imageBg, list.get(position).getBase_image());
} else if (pSelect != -1 && pSelect == position) {
list.get(position).setIs_select(false);
pSelect = -1;
// mDataBinding.tvMoney.setText("0");
mBinding.ll.setVisibility(View.GONE);
} else {
list.get(position).setIs_select(true);
did = list.get(position).getDid();
pSelect = position;
mBinding.ll.setVisibility(View.VISIBLE);
loadImage(getContext(),imageBg, list.get(position).getBase_image());
}
adapter1.setNewData(list);
adapter1.notifyDataSetChanged();
});
adapter.setNewData(zhuangBanShangChengBeanList);
}
@Override
protected void initView() {
}
@Override
protected int getLayoutId() {
return R.layout.zhuangban_recyclerview_noref;
}
}

View File

@@ -0,0 +1,12 @@
package com.example.modulevocal.fragment.zhuangb;
import android.content.Context;
import com.example.modulevocal.conacts.CreatedRoomConactos;
import com.qxcm.moduleutil.presenter.BasePresenter;
public class ZhuangBanShangChengPresenter extends BasePresenter<ZhuangBanShangChengConactos.View> implements ZhuangBanShangChengConactos.ICreatedRoomPre{
public ZhuangBanShangChengPresenter(ZhuangBanShangChengConactos.View view, Context context) {
super(view, context);
}
}

View File

@@ -0,0 +1,12 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.BriefIntroductionConacts;
import com.qxcm.moduleutil.presenter.BasePresenter;
public class BriefIntroductionPresenter extends BasePresenter<BriefIntroductionConacts.View> {
public BriefIntroductionPresenter(BriefIntroductionConacts.View view, Context context) {
super(view, context);
}
}

View File

@@ -0,0 +1,12 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.ChangeNicknameConacts;
import com.qxcm.moduleutil.presenter.BasePresenter;
public class ChangeNicknamePresenter extends BasePresenter<ChangeNicknameConacts.View> implements ChangeNicknameConacts.IMePre {
public ChangeNicknamePresenter(ChangeNicknameConacts.View view, Context context) {
super(view, context);
}
}

View File

@@ -0,0 +1,95 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.example.modulevocal.conacts.ChangePasswordConactos;
import com.qxcm.moduleutil.base.CommonAppContext;
import com.qxcm.moduleutil.http.ApiServer;
import com.qxcm.moduleutil.http.BaseModel;
import com.qxcm.moduleutil.http.BaseObserver;
import com.qxcm.moduleutil.presenter.BasePresenter;
import io.reactivex.disposables.Disposable;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class ChangePasswordPresenter extends BasePresenter<ChangePasswordConactos.View> implements ChangePasswordConactos.ICreatedPre{
public ChangePasswordPresenter(ChangePasswordConactos.View view, Context context) {
super(view, context);
}
@Override
public void sendCode(String phoneNumber, String type) {
api.sendCode(phoneNumber,type, new BaseObserver<Object>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
}
@Override
public void onNext(Object o) {
MvpRef.get().sendCodeSuccess1(phoneNumber);
}
});
}
@Override
public void changePassword(String new_password, String mobile, String code, String userId) {
Retrofit retrofit = new Retrofit.Builder().baseUrl(CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl())
.addConverterFactory(GsonConverterFactory.create())
.build();
Call<BaseModel<String>> call=retrofit.create(ApiServer.class).getPostData(new_password, mobile, code, userId);
call.enqueue(new Callback<BaseModel<String>>() {
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
if (response.code()==200){
BaseModel<String> string=response.body();
if (string!=null){
int code=string.getCode();
if (code==1){
MvpRef.get().sendCodeSuccess("");
}else {
ToastUtils.showShort(string.getMsg());
}
}
}
}
@Override
public void onFailure(Call<BaseModel<String>> call, Throwable t) {
ToastUtils.showShort("修改失败");
}
});
// api.changePassword(new_password, mobile, code, userId, new BaseObserver<String>() {
//
// @Override
// public void onSuccess(String data) {
// if (data == null) {
// MvpRef.get().sendCodeSuccess("");
// }
// }
//
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(String s) {
// MvpRef.get().sendCodeSuccess(s);
// }
// });
}
}

View File

@@ -0,0 +1,109 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.CreatedRoomConactos;
import com.hjq.toast.ToastUtils;
import com.qxcm.moduleutil.bean.CheckTxtResp;
import com.qxcm.moduleutil.http.BaseObserver;
import com.qxcm.moduleutil.presenter.BasePresenter;
import java.io.File;
import java.util.List;
import io.reactivex.disposables.Disposable;
public class CreatedRoomPresenter extends BasePresenter<CreatedRoomConactos.View> implements CreatedRoomConactos.ICreatedRoomPre {
public CreatedRoomPresenter(CreatedRoomConactos.View view, Context context) {
super(view, context);
}
@Override
public void checkTxt(String content) {
// MvpRef.get().showLoadings();
// api.checkTxt(content,"2", new BaseObserver<CheckTxtResp>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(CheckTxtResp checkTxtResp) {
// MvpRef.get().checkTxtSuccess(checkTxtResp);
// }
//
// @Override
// public void onComplete() {
// MvpRef.get().disLoadings();
// }
// });
}
@Override
public void addUserRoom(String roomName, String labelId,String cover_picture) {
// MvpRef.get().showLoadings();
// ApiClient.getInstance().addUserRoom(roomName, labelId, cover_picture,new BaseObserver<String>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(String s) {
// MvpRef.get().addUserRoomSuccess(s);
// }
//
// @Override
// public void onComplete() {
// MvpRef.get().disLoadings();
// }
// });
}
@Override
public void roomLabel(String from) {
// MvpRef.get().showLoadings();
// ApiClient.getInstance().roomLabel(from,new BaseObserver<List<RoomTypeInfo>>() {
//
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(List<RoomTypeInfo> roomTypeInfos) {
// MvpRef.get().roomLabel(roomTypeInfos);
// }
//
// @Override
// public void onComplete() {
// MvpRef.get().disLoadings();
// }
// });
}
@Override
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() {
// @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();
// }
// }
// });
}
}

View File

@@ -0,0 +1,12 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.CurrencyExchangeConacts;
import com.qxcm.moduleutil.presenter.BasePresenter;
public class CurrencyExchangePresenter extends BasePresenter<CurrencyExchangeConacts.View> implements CurrencyExchangeConacts.IMePre {
public CurrencyExchangePresenter(CurrencyExchangeConacts.View view, Context context) {
super(view, context);
}
}

View File

@@ -0,0 +1,39 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.EditUserConactos;
import com.hjq.toast.ToastUtils;
import com.qxcm.moduleutil.presenter.BasePresenter;
import com.qxcm.moduleutil.utils.oss.OSSOperUtils;
import java.io.File;
public class EditUserPresenter extends BasePresenter<EditUserConactos.View> implements EditUserConactos.IMePre {
public EditUserPresenter(EditUserConactos.View view, Context context) {
super(view, context);
}
@Override
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() {
@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();
}
}
});
}
}

View File

@@ -0,0 +1,12 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.MyBagConacts;
import com.qxcm.moduleutil.presenter.BasePresenter;
public class MyBagPresenter extends BasePresenter<MyBagConacts.View> implements MyBagConacts.IMePre {
public MyBagPresenter(MyBagConacts.View view, Context context) {
super(view, context);
}
}

View File

@@ -0,0 +1,12 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.MyMoneyConactos;
import com.qxcm.moduleutil.presenter.BasePresenter;
public class MyMoneyPresenter extends BasePresenter<MyMoneyConactos.View> implements MyMoneyConactos.IMePre {
public MyMoneyPresenter(MyMoneyConactos.View view, Context context) {
super(view, context);
}
}

View File

@@ -0,0 +1,197 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.MyRoomListContacts;
import com.qxcm.moduleutil.bean.MyRoomBean;
import com.qxcm.moduleutil.http.BaseObserver;
import com.qxcm.moduleutil.presenter.BasePresenter;
import java.util.List;
import io.reactivex.disposables.Disposable;
public class MyRoomPresenter extends BasePresenter<MyRoomListContacts.View> implements MyRoomListContacts.IRankingListPre {
public MyRoomPresenter(MyRoomListContacts.View view, Context context) {
super(view, context);
}
@Override
public void detachView() {
}
@Override
public void getCharmList(int type) {
// MvpRef.get().showLoadings();
// ApiClient.getInstance().getMyRoom(new BaseObserver<List<MyRoomBean>>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(List<MyRoomBean> myRoomBeans) {
// MvpRef.get().setList(myRoomBeans,type);
// }
//
// @Override
// public void onComplete() {
// MvpRef.get().disLoadings();
// }
// });
}
@Override
public void getWealthList( int type) {
// MvpRef.get().showLoadings();
// ApiClient.getInstance().getHostRoom(new BaseObserver<List<MyRoomBean>>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(List<MyRoomBean> myRoomBeans) {
// MvpRef.get().setList(myRoomBeans,type);
// }
//
// @Override
// public void onComplete() {
// MvpRef.get().disLoadings();
// }
// });
}
@Override
public void getRoomList( int type) {
}
@Override
public void getNameAuthResult(int type) {
// NewApi.getInstance().getNameAuthResult(new com.qpyy.libcommon.api.BaseObserver<NameAuthResult>(false) {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(NameAuthResult result) {
// if (result.getApp_status() == 2) {
// ARouter.getInstance().build(ARouteConstants.AUTH_RESULT_PAGE).withString("failStr", result.getReason()).withInt("examineType", 1).withInt("returnResult", 3).navigation();
// } else if (result.getApp_status() == 0) {
//// ToastUtils.show("审核中");
// ARouter.getInstance().build(ARouteConstants.AUTH_RESULT_PAGE).withString("failStr", result.getReason()).withInt("examineType", 1).withInt("returnResult", 1).navigation();
// } else if (result.getApp_status() == 1) {
//// ToastUtils.show("已认证");
// ARouter.getInstance().build(ARouteConstants.AUTH_RESULT_PAGE).withString("failStr", result.getReason()).withInt("examineType", 1).withInt("returnResult", 2).navigation();
// } else if (result.getApp_status() == 3) {
// go2NameAuth(type);
// }
// }
//
// @Override
// public void onErrorCode(int code) {
// super.onErrorCode(code);
// if (code == ErrorCode.AUTH_NOT_EXIT) {
// go2NameAuth(type);
// }
// }
//
// @Override
// public void onComplete() {
//
// }
// });
}
private void go2NameAuth(int type) {
// if (type == 0) {
// ARouter.getInstance().build(ARouteConstants.ME_NAME_AUTH).withString("from","我的界面").navigation();
// }
}
@Override
public void delfoot() {
// com.qpyy.module.index.api.ApiClient.getInstance().delfoot(new com.qpyy.libcommon.http.BaseObserver<String>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(String s) {
// MvpRef.get().delfootSuccess();
// }
//
// @Override
// public void onComplete() {
// }
// });
}
// TODO: 2025/4/15 我的足迹
@Override
public void getMyFoot(int page) {
// com.qpyy.module.index.api.ApiClient.getInstance().getMyFoot(new com.qpyy.libcommon.http.BaseObserver<List<MyFootResp>>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(List<MyFootResp> myFootResps) {
// MvpRef.get().setMyFootData(myFootResps,page);
// }
//
// @Override
// public void onComplete() {
// MvpRef.get().finishRefresh();
// }
// },page);
}
@Override
public void getManageLists() {
// com.qpyy.module.index.api.ApiClient.getInstance().manageLists(new com.qpyy.libcommon.http.BaseObserver<List<ManageRoomResp>>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(List<ManageRoomResp> manageRoomResps) {
// MvpRef.get().setManageData(manageRoomResps);
// }
//
// @Override
// public void onComplete() {
// }
// });
}
@Override
public void getAttentionList() {
// com.qpyy.module.index.api.ApiClient.getInstance().attentionList(new com.qpyy.libcommon.http.BaseObserver<List<AttentionResp>>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(List<AttentionResp> attentionResps) {
// MvpRef.get().setAttentionListData(attentionResps);
// }
//
// @Override
// public void onComplete() {
//
// }
// });
}
}

View File

@@ -0,0 +1,12 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.RechargeConactos;
import com.qxcm.moduleutil.presenter.BasePresenter;
public class RechargePresenter extends BasePresenter<RechargeConactos.View> implements RechargeConactos.IRechargePre{
public RechargePresenter(RechargeConactos.View view, Context context) {
super(view, context);
}
}

View File

@@ -0,0 +1,64 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.RoomAllowanceContacts;
import com.qxcm.moduleutil.presenter.BasePresenter;
import java.util.List;
import io.reactivex.disposables.Disposable;
public class RoomAllowancePresenter extends BasePresenter<RoomAllowanceContacts.DeatilsView> implements RoomAllowanceContacts.DeatilsListPre {
public RoomAllowancePresenter(RoomAllowanceContacts.DeatilsView view, Context context) {
super(view, context);
}
@Override
public void detachView() {
}
@Override
public void getCharmList( String room_id) {
// ApiClient.getInstance().getSubsidy(BaseApplication.getInstance().getToken(), room_id, new BaseObserver<RoomSubsidy>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(RoomSubsidy roomSubsidy) {
// MvpRef.get().setList(roomSubsidy);
// }
//
// @Override
// public void onComplete() {
//
// }
// });
}
@Override
public void getDetails(String room_id, String page) {
// ApiClient.getInstance().getSubsidyDetail(room_id, page, new BaseObserver<List<RoomSubsidyDetails>>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(List<RoomSubsidyDetails> roomSubsidyDetails) {
// MvpRef.get().setHishoryList(roomSubsidyDetails);
// }
//
// @Override
// public void onComplete() {
// MvpRef.get().finishRefresh();
// }
// });
}
}

View File

@@ -0,0 +1,65 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.MyRoomListContacts;
import com.qxcm.moduleutil.presenter.BasePresenter;
import io.reactivex.disposables.Disposable;
public class RoomDetailsPresenter extends BasePresenter<MyRoomListContacts.DeatilsView> implements MyRoomListContacts.DeatilsListPre {
public RoomDetailsPresenter(MyRoomListContacts.DeatilsView view, Context context) {
super(view, context);
}
@Override
public void detachView() {
}
@Override
public void getCharmList(String room_id, String stime, String etime, String p, int type) {
// if (type == 0) {
//// MvpRef.get().showLoadings();
// ApiClient.getInstance().getRoomUserDetail(BaseApplication.getInstance().getToken(), room_id, stime, etime, p, new BaseObserver<RoomDetails>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(RoomDetails roomDetailsBeans) {
// MvpRef.get().setList(roomDetailsBeans);
//
// }
//
// @Override
// public void onComplete() {
//// MvpRef.get().disLoadings();
// MvpRef.get().finishRefresh();
// }
// });
// } else {
//// MvpRef.get().showLoadings();
// ApiClient.getInstance().getUserHostlDetail(BaseApplication.getInstance().getToken(), room_id, stime, etime, p, new BaseObserver<RoomDetails>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(RoomDetails roomDetailsList) {
// MvpRef.get().setList(roomDetailsList);
//
// }
//
// @Override
// public void onComplete() {
//// MvpRef.get().disLoadings();
// MvpRef.get().finishRefresh();
// }
// });
// }
}
}

View File

@@ -0,0 +1,52 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.UserGiftWallConacts;
import com.qxcm.moduleutil.bean.GiftBean;
import com.qxcm.moduleutil.http.BaseObserver;
import com.qxcm.moduleutil.presenter.BasePresenter;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.disposables.Disposable;
public class UserGiftWallPresenter extends BasePresenter<UserGiftWallConacts.View> implements UserGiftWallConacts.IUserGiftWallPre {
public UserGiftWallPresenter(UserGiftWallConacts.View view, Context context) {
super(view, context);
}
@Override
public void giftWall(String userId) {
// ApiClient.getInstance().giftWall(userId, new BaseObserver<List<GiftBean>>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(List<GiftBean> giftBeans) {
// MvpRef.get().setGiftWall(giftBeans);
// }
//
// @Override
// public void onComplete() {
// }
// });
List<GiftBean> giftBeans = new ArrayList<>();
for (int i = 0; i < 5; i++) {
GiftBean giftBean = new GiftBean();
giftBean.setGift_id(""+i);
giftBean.setName("礼物"+i);
giftBean.setPicture("");
giftBean.setPrice(""+i);
giftBean.setNumber("x"+i);
giftBeans.add(giftBean);
}
MvpRef.get().setGiftWall(giftBeans);
}
}

View File

@@ -0,0 +1,108 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.UserHomepageConacts;
import com.qxcm.moduleutil.bean.CircleListBean;
import com.qxcm.moduleutil.bean.PhotoWallResp;
import com.qxcm.moduleutil.bean.UserHomeResp;
import com.qxcm.moduleutil.presenter.BasePresenter;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.disposables.Disposable;
public class UserHomepagePresenter extends BasePresenter<UserHomepageConacts.View> implements UserHomepageConacts.IMePre {
public UserHomepagePresenter(UserHomepageConacts.View view, Context context) {
super(view, context);
}
@Override
public void getUserDetails(String userId, String emchatUsername, boolean showLoading) {
// if (showLoading) {
// MvpRef.get().showLoadings();
// }
// ApiClient.getInstance().userHomePage(userId, emchatUsername, new BaseObserver<UserHomeResp>() {
// @Override
// public void onSubscribe(Disposable d) {
// addDisposable(d);
// }
//
// @Override
// public void onNext(UserHomeResp userHomeResp) {
// MvpRef.get().setUserDetails(userHomeResp);
// }
//
// @Override
// public void onComplete() {
// MvpRef.get().disLoadings();
// }
//
// @Override
// public void onError(Throwable e) {
// super.onError(e);
// MvpRef.get().onFail();
// }
// });
UserHomeResp userHomeResp = new UserHomeResp();
userHomeResp.setUser_id("1");
userHomeResp.setNickname("小明");
userHomeResp.setHead_picture("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setSex("");
userHomeResp.setSignature("个性签名");
userHomeResp.setBirthday("1990-01-01");
userHomeResp.setConstellation("摩羯");
userHomeResp.setProfession("学生");
userHomeResp.setEmchat_username("小明");
userHomeResp.setNobility_icon("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setNobility_image("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setRank_icon("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setIntro_voice("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setIntro_voice_time("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setFollow("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setFollow_count("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setFans_count("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setAge("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setCity("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setIs_online("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setOnly_friend("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setPicture("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setSignature("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setHead_picture("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
PhotoWallResp photoWallResp = new PhotoWallResp();
photoWallResp.setAvatar("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3042118352,1578432634&fm=26&gp=0.jpg");
userHomeResp.setUser_photo(photoWallResp);
MvpRef.get().setUserDetails(userHomeResp);
}
@Override
public void getCircleList() {
List<String> images=new ArrayList<>();
images.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=false&word=%E7%BE%8E%E5%A5%B3%E5%9B%BE%E7%89%87&hs=0&pn=0&spn=0&di=7490230549689139201&pi=0&rn=1&tn=baiduimagedetail&is=2160705940%2C3901940110&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=2056927850%2C430353020&os=2160705940%2C3901940110&simid=3513174432%2C352671812&adpicid=0&lpn=0&ln=0&fm=&sme=&cg=girl&bdtype=0&oriquery=&objurl=https%3A%2F%2Fq4.itc.cn%2Fimages01%2F20240627%2Fd30dbf39840a4c0bbeb277a6d773db2f.jpeg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bf5i7_z%26e3Bv54AzdH3FwAzdH3F0blaabmca_8d8n8lbaa&gsm=&islist=&querylist=");
images.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=false&word=%E7%BE%8E%E5%A5%B3%E5%9B%BE%E7%89%87&hs=0&pn=0&spn=0&di=7490230549689139201&pi=0&rn=1&tn=baiduimagedetail&is=2160705940%2C3901940110&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=2056927850%2C430353020&os=2160705940%2C3901940110&simid=3513174432%2C352671812&adpicid=0&lpn=0&ln=0&fm=&sme=&cg=girl&bdtype=0&oriquery=&objurl=https%3A%2F%2Fq4.itc.cn%2Fimages01%2F20240627%2Fd30dbf39840a4c0bbeb277a6d773db2f.jpeg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bf5i7_z%26e3Bv54AzdH3FwAzdH3F0blaabmca_8d8n8lbaa&gsm=&islist=&querylist=");
images.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=false&word=%E7%BE%8E%E5%A5%B3%E5%9B%BE%E7%89%87&hs=0&pn=0&spn=0&di=7490230549689139201&pi=0&rn=1&tn=baiduimagedetail&is=2160705940%2C3901940110&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=2056927850%2C430353020&os=2160705940%2C3901940110&simid=3513174432%2C352671812&adpicid=0&lpn=0&ln=0&fm=&sme=&cg=girl&bdtype=0&oriquery=&objurl=https%3A%2F%2Fq4.itc.cn%2Fimages01%2F20240627%2Fd30dbf39840a4c0bbeb277a6d773db2f.jpeg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bf5i7_z%26e3Bv54AzdH3FwAzdH3F0blaabmca_8d8n8lbaa&gsm=&islist=&querylist=");
images.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=false&word=%E7%BE%8E%E5%A5%B3%E5%9B%BE%E7%89%87&hs=0&pn=0&spn=0&di=7490230549689139201&pi=0&rn=1&tn=baiduimagedetail&is=2160705940%2C3901940110&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=2056927850%2C430353020&os=2160705940%2C3901940110&simid=3513174432%2C352671812&adpicid=0&lpn=0&ln=0&fm=&sme=&cg=girl&bdtype=0&oriquery=&objurl=https%3A%2F%2Fq4.itc.cn%2Fimages01%2F20240627%2Fd30dbf39840a4c0bbeb277a6d773db2f.jpeg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bf5i7_z%26e3Bv54AzdH3FwAzdH3F0blaabmca_8d8n8lbaa&gsm=&islist=&querylist=");
List<CircleListBean> list=new ArrayList<>();
for (int i = 0; i < 10; i++){
CircleListBean bean=new CircleListBean();
bean.setId(""+i);
bean.setUserNickName("萌新驾到"+i);
bean.setUserAvatar("");
bean.setTime("发布于 12:5"+i);
bean.setContent("任何关系,都需要谦逊谨慎");
bean.setImages(images);
bean.setType("1");
bean.setComment(""+i);
bean.setLike(""+i);
bean.setIsShare(""+i);
list.add(bean);
}
MvpRef.get().setCircleList(list);
}
}

View File

@@ -0,0 +1,12 @@
package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.WithdrawalConacts;
import com.qxcm.moduleutil.presenter.BasePresenter;
public class WithdrawalPresenter extends BasePresenter<WithdrawalConacts.View> implements WithdrawalConacts.IMePre {
public WithdrawalPresenter(WithdrawalConacts.View view, Context context) {
super(view, context);
}
}

View File

@@ -0,0 +1,69 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.BriefIntroductionActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout
android:id="@+id/rl_1"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_150"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r10_white"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginStart="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@+id/top_bar">
<EditText
android:id="@+id/et_g"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_140"
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="@android:color/transparent"
android:gravity="left|top"
android:hint="简介"
android:maxLength="120"
android:textColor="#333333"
android:textColorHint="@color/color_FF666666"
android:textSize="@dimen/sp_12" />
<TextView
android:id="@+id/tv_sz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="@dimen/dp_16"
android:text="0/20"
android:textColor="@color/color_FF666666"
android:textSize="@dimen/sp_14" />
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycle_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@+id/rl_1" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,49 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.ChangeNicknameActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_32"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r10_white"
android:gravity="left|center"
app:layout_constraintTop_toBottomOf="@+id/top_bar">
<com.qxcm.moduleutil.widget.ClearEditText
android:id="@+id/ed_nick_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:gravity="center|left"
android:hint="请输入昵称"
android:maxLength="10"
android:padding="@dimen/dp_7"
android:singleLine="true"
android:text=""
android:textColor="#333333"
android:textSize="@dimen/sp_12"
app:layout_constraintStart_toStartOf="parent" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -34,6 +34,7 @@
android:textSize="@dimen/sp_16"/>
<TextView
android:id="@+id/tv_phoin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12345678901"
@@ -68,7 +69,7 @@
android:layout_toRightOf="@+id/iv_code"
android:background="@android:color/transparent"
android:hint="@string/login_hint_code"
android:inputType="textPassword"
android:inputType="text"
android:maxLength="20"
android:singleLine="true"
android:textColor="@color/black"

View File

@@ -0,0 +1,212 @@
<?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">
<data>
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="#FFF"
android:gravity="center"
android:orientation="vertical"
android:paddingLeft="@dimen/dp_16"
android:paddingTop="@dimen/dp_20">
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/iv_trend_content"
android:layout_width="100dp"
android:layout_height="100dp"
android:scaleType="centerCrop"
android:src="@mipmap/trend_pic_add"
app:riv_corner_radius="@dimen/dp_10" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="房间封面"
android:textColor="@color/color_FF333333"
android:layout_marginTop="@dimen/dp_12"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<!-- <ImageView-->
<!-- android:id="@+id/room_img"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="@dimen/dp_20"-->
<!-- android:layout_gravity="center"-->
<!-- android:src="@mipmap/trend_pic_add" />-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFF"
android:orientation="vertical"
android:paddingLeft="@dimen/dp_16"
android:paddingTop="@dimen/dp_10">
<TextView
android:id="@+id/tv_room_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="房间名"
android:textColor="#333333"
android:textSize="@dimen/sp_14" />
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal">
<com.qxcm.moduleutil.widget.ClearEditText
android:id="@+id/ed_nick_name"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/bg_r100_hui"
android:gravity="center|left"
android:hint="请输入昵称"
android:maxLength="10"
android:paddingStart="10dp"
android:paddingEnd="@dimen/dp_10"
android:singleLine="true"
android:text=""
android:textColor="#333333"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_user_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:gravity="center"
android:text="随机"
android:textColor="@color/color_FF514FFF"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
<!-- <com.qxcm.moduleutil.widget.ClearEditText-->
<!-- android:id="@+id/ed_room_name"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="@dimen/dp_40"-->
<!-- android:layout_marginTop="@dimen/dp_10"-->
<!-- android:layout_marginEnd="@dimen/dp_16"-->
<!-- android:background="@drawable/bg_r100_hui"-->
<!-- android:hint="设置房间名"-->
<!-- android:maxLength="10"-->
<!-- android:paddingStart="10dp"-->
<!-- android:paddingEnd="@dimen/dp_10"-->
<!-- android:singleLine="true"-->
<!-- android:text=""-->
<!-- android:textColor="#333333"-->
<!-- android:textSize="14sp" />-->
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_1"
android:background="#FFF"
android:orientation="vertical"
android:paddingStart="@dimen/dp_16">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:text="房间公告"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_150"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r100_hui">
<EditText
android:id="@+id/et_g"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_140"
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="@android:color/transparent"
android:gravity="left|top"
android:hint="设置房间公告"
android:maxLength="120"
android:textColor="#333333"
android:textColorHint="@color/color_FF666666"
android:textSize="@dimen/sp_15" />
<TextView
android:id="@+id/tv_sz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="@dimen/dp_16"
android:text="0/20"
android:textColor="@color/color_FF666666"
android:textSize="@dimen/sp_14" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_save"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:layout_alignParentBottom="true"
android:layout_marginLeft="@dimen/dp_34"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_34"
android:layout_marginBottom="@dimen/dp_20"
android:background="@drawable/cs"
android:gravity="center"
android:text="提交审核"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_17" />
</RelativeLayout>
</RelativeLayout>
</layout>

View File

@@ -0,0 +1,178 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.CurrencyExchangeActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
/>
<RelativeLayout
android:id="@+id/rl_1"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_112"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@mipmap/cz_bj"
app:layout_constraintTop_toBottomOf="@id/top_bar">
<TextView
android:id="@+id/t_1"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_21"
android:gravity="left|center_vertical"
android:text="钻石余额"
android:textColor="@color/color_FF000000"
android:textSize="@dimen/sp_16" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/t_1"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:layout_marginTop="@dimen/dp_8">
<ImageView
android:id="@+id/im_1"
android:layout_width="@dimen/dp_28"
android:layout_height="@dimen/dp_28"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:layout_marginStart="@dimen/dp_16"
android:src="@mipmap/zs_tb" />
<TextView
android:id="@+id/tv_jb"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_38"
android:layout_centerInParent="true"
android:layout_marginStart="@dimen/dp_4"
android:layout_toRightOf="@+id/im_1"
android:gravity="left|center"
android:text="111111000"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_28" />
</RelativeLayout>
</RelativeLayout>
<TextView
android:id="@+id/t_2"
android:layout_width="@dimen/dp_48"
android:layout_height="@dimen/dp_18"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:text="钻石兑换"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_12"
app:layout_constraintTop_toBottomOf="@id/rl_1"
app:layout_constraintStart_toStartOf="parent"/>
<RelativeLayout
android:id="@+id/r_4"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_27"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toTopOf="@+id/v_view"
app:layout_constraintTop_toBottomOf="@+id/t_2">
<TextView
android:id="@+id/t_4"
android:layout_width="@dimen/dp_18"
android:layout_height="@dimen/dp_27"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_centerInParent="true"
android:gravity="center"
android:text="¥"
android:textStyle="bold"
android:textSize="@dimen/sp_18"
android:textColor="@color/color_FF000000"
/>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_custom_amount"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_18"
android:layout_toRightOf="@+id/t_4"
android:background="@null"
android:layout_centerInParent="true"
android:hint="请输入需要兑换的钻石数量"
android:textColorHint="@color/color_FF999999"
android:inputType="numberDecimal"
android:textSize="@dimen/sp_12"/>
<TextView
android:id="@+id/t_5"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_18"
android:layout_centerInParent="true"
android:layout_alignParentEnd="true"
android:gravity="center"
android:layout_marginStart="@dimen/dp_4"
android:text="全部提现"
android:textSize="@dimen/sp_12"
android:textColor="#0DFB89"
/>
</RelativeLayout>
<View
android:id="@+id/v_view"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_0_5"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@color/color_FF999999"
app:layout_constraintTop_toBottomOf="@id/r_4" />
<TextView
android:id="@+id/t_3"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_18"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_6"
android:layout_marginEnd="@dimen/dp_16"
android:text="1钻石=10个金币"
android:textColor="@color/color_ff2727"
app:layout_constraintTop_toBottomOf="@+id/v_view"
app:layout_constraintStart_toStartOf="parent"
android:textSize="@dimen/sp_12"
/>
<TextView
android:id="@+id/tv_payment"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_alignParentBottom="true"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_57"
android:background="@drawable/cs"
android:gravity="center"
android:text="确认兑换"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,260 @@
<?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"
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"
>
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:layout_width="match_parent"
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">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp_84"
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"/>
<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_marginEnd="@dimen/dp_16"
android:gravity="center|center_vertical"
android:layout_marginTop="@dimen/dp_10">
<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"
/>
<TextView
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"
/>
<ImageView
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_16"
android:src="@drawable/detail_icon_go"/>
</RelativeLayout>
<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_marginEnd="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_10">
<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"
/>
<TextView
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"
/>
<ImageView
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_16"
android:src="@drawable/detail_icon_go"/>
</RelativeLayout>
<RelativeLayout
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_marginEnd="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_10">
<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"
/>
<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"
/>
<ImageView
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_16"
android:src="@drawable/detail_icon_go"/>
</RelativeLayout>
<RelativeLayout
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_marginEnd="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_10">
<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"
/>
<TextView
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"
/>
<ImageView
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_16"
android:src="@drawable/detail_icon_go"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12">
<TextView
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"
/>
<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:textColor="@color/color_FF666666"
/>
</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" />
</LinearLayout>
<com.qxcm.moduleutil.widget.GifAvatarOvalView
android:id="@+id/rv_user_head"
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"
app:riv_oval="true" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,65 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.MyBagActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- <com.google.android.material.appbar.AppBarLayout-->
<!-- android:id="@+id/app_bar_layout"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:background="@color/color_transparent"-->
<!-- app:elevation="0dp"-->
<!-- app:layout_constraintTop_toTopOf="parent">-->
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
/>
<com.example.moduletablayout.CustomSlidingTabLayout
android:id="@+id/sliding_tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/top_bar"
android:layout_marginLeft="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_16"
app:tl_indicator_corner_radius="@dimen/dp_3"
app:tl_indicator_drawable="@drawable/index_bg_indicator"
app:tl_indicator_height="@dimen/dp_6"
app:tl_indicator_margin_bottom="@dimen/dp_3"
app:tl_indicator_width="@dimen/dp_28"
app:tl_showCateIndicator="false"
app:tl_tab_width="@dimen/dp_70"
app:tl_textBold="SELECT"
app:tl_textSelectColor="@color/color_2B2823"
app:tl_textSelectedSize="@dimen/sp_16"
app:tl_textUnselectColor="@color/color_FF999999"
app:tl_textsize="@dimen/sp_14" />
<!-- </com.google.android.material.appbar.AppBarLayout>-->
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
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"
app:layout_constraintTop_toBottomOf="@+id/sliding_tab_layout"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,239 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.MyMoneyActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:id="@+id/l_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@+id/top_bar"
android:layout_marginTop="@dimen/dp_12">
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="@dimen/dp_98"
android:layout_weight="1"
android:background="@mipmap/jinb_tg"
android:layout_marginStart="@dimen/dp_16"
android:paddingStart="@dimen/dp_10"
android:paddingEnd="@dimen/dp_10"
android:paddingBottom="@dimen/dp_11"
android:paddingTop="@dimen/dp_41">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="51"
android:gravity="left|center"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_16"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/coin"
android:gravity="left|center"
android:layout_below="@id/tv_1"
android:layout_marginTop="@dimen/dp_4"
android:textColor="@color/color_FF666666"
android:textSize="@dimen/sp_12"/>
<TextView
android:id="@+id/tv_cz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|left"
android:background="@mipmap/mony_cz"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/dp_5"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="@dimen/dp_98"
android:layout_weight="1"
android:background="@mipmap/zus_tg"
android:layout_marginStart="@dimen/dp_11"
android:layout_marginEnd="@dimen/dp_16"
android:paddingStart="@dimen/dp_10"
android:paddingEnd="@dimen/dp_10"
android:paddingBottom="@dimen/dp_11"
android:paddingTop="@dimen/dp_41">
<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="51"
android:gravity="left|center"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_16"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/diamond"
android:gravity="left|center"
android:layout_below="@id/tv_2"
android:layout_marginTop="@dimen/dp_4"
android:textColor="@color/color_FF666666"
android:textSize="@dimen/sp_12"/>
<TextView
android:id="@+id/tv_tx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|left"
android:background="@mipmap/mony_tx"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/dp_5"
/>
</RelativeLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_zd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:text="@string/my_bill"
android:layout_marginStart="@dimen/dp_16"
android:textSize="@dimen/sp_16"
android:textColor="@color/color_FF000000"
app:layout_constraintTop_toBottomOf="@+id/l_1"/>
<RelativeLayout
android:id="@+id/r_1"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_38"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r9_fffff"
app:layout_constraintTop_toBottomOf="@+id/tv_zd">
<TextView
android:layout_width="@dimen/dp_56"
android:layout_height="@dimen/dp_21"
android:text="@string/recharge_record"
android:layout_centerInParent="true"
android:layout_alignParentStart="true"
android:layout_marginStart="@dimen/dp_12"
android:textSize="@dimen/sp_14"
android:textColor="@color/color_FF333333"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_12"
android:background="@drawable/detail_icon_go"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/r_2"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_38"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r9_fffff"
app:layout_constraintTop_toBottomOf="@+id/r_1">
<TextView
android:layout_width="@dimen/dp_56"
android:layout_height="@dimen/dp_21"
android:text="@string/diamond_income_expense"
android:layout_centerInParent="true"
android:layout_alignParentStart="true"
android:layout_marginStart="@dimen/dp_12"
android:textSize="@dimen/sp_14"
android:textColor="@color/color_FF333333"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_12"
android:background="@drawable/detail_icon_go"/>
</RelativeLayout>
<TextView
android:id="@+id/tv_qt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:text="@string/other_functions"
android:layout_marginStart="@dimen/dp_16"
android:textSize="@dimen/sp_16"
android:textColor="@color/color_FF000000"
app:layout_constraintTop_toBottomOf="@+id/r_2"/>
<RelativeLayout
android:id="@+id/r_3"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_38"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r9_fffff"
app:layout_constraintTop_toBottomOf="@+id/tv_qt">
<TextView
android:layout_width="@dimen/dp_56"
android:layout_height="@dimen/dp_21"
android:text="@string/diamond_to_coin"
android:layout_centerInParent="true"
android:layout_alignParentStart="true"
android:layout_marginStart="@dimen/dp_12"
android:textSize="@dimen/sp_14"
android:textColor="@color/color_FF333333"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_12"
android:background="@drawable/detail_icon_go"/>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,10 @@
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.MyRoomActivity">
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,104 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.PersonalityActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:TopBarTitle="@string/dressup"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_48"
app:layout_constraintTop_toBottomOf="@+id/top_bar"
app:tabBackground="@android:color/transparent"
app:tabIndicatorHeight="0dp"
app:tabMode="scrollable"
app:tabPaddingBottom="0dp"
app:tabPaddingEnd="0dp"
app:tabPaddingStart="0dp"
app:tabPaddingTop="0dp"
app:tabRippleColor="@android:color/transparent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_2"
android:layout_width="@dimen/dp_127"
android:layout_height="@dimen/dp_127"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_12"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tab_layout">
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/iv_user"
android:layout_width="@dimen/dp_104"
android:layout_height="@dimen/dp_104"
android:layout_gravity="center_horizontal"
android:scaleType="centerCrop"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:riv_border_color="@color/white"
app:riv_border_width="1dp"
app:riv_oval="true" />
<com.opensource.svgaplayer.SVGAImageView
android:id="@+id/image_headPortrait"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- <com.example.moduletablayout.CustomSlidingTabLayout-->
<!-- android:id="@+id/sliding_tab_layout"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginLeft="@dimen/dp_16"-->
<!-- android:layout_marginTop="@dimen/dp_12"-->
<!-- android:layout_marginRight="@dimen/dp_16"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/cl_2"-->
<!-- app:tl_indicator_corner_radius="@dimen/dp_3"-->
<!-- app:tl_indicator_drawable="@drawable/index_bg_indicator"-->
<!-- app:tl_indicator_height="@dimen/dp_6"-->
<!-- app:tl_indicator_margin_bottom="@dimen/dp_3"-->
<!-- app:tl_indicator_width="@dimen/dp_28"-->
<!-- app:tl_showCateIndicator="false"-->
<!-- app:tl_tab_width="@dimen/dp_50"-->
<!-- app:tl_textBold="SELECT"-->
<!-- app:tl_textSelectColor="@color/color_2B2823"-->
<!-- app:tl_textSelectedSize="@dimen/sp_14"-->
<!-- app:tl_textUnselectColor="@color/color_FF999999"-->
<!-- app:tl_textsize="@dimen/sp_12" />-->
<com.qxcm.moduleutil.widget.ScrollViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_30"
app:layout_constraintTop_toBottomOf="@+id/cl_2"
/>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
android:background="@color/color_transparent"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,173 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.RealDetailActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/im_1"
android:layout_width="@dimen/dp_195"
android:layout_height="@dimen/dp_195"
android:layout_marginTop="@dimen/dp_16"
android:src="@mipmap/real_q"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top_bar"
/>
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginBottom="@dimen/dp_12"
android:text="@string/already_authenticated"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/im_1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:background="@color/color_FFF8F8F8"
android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@+id/tv_1">
<LinearLayout
style="@style/My_Info_Item_LL_Style"
android:background="@drawable/bg_r15_white">
<TextView
style="@style/My_Info_Item_Title_Style"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/real_name" />
<TextView
android:id="@+id/tv_name"
style="@style/My_Info_Item_Title_Style"
android:layout_width="0dp"
android:layout_gravity="right|center"
android:layout_weight="1"
android:gravity="right"
tools:text="@string/real_name" />
</LinearLayout>
<LinearLayout
style="@style/My_Info_Item_LL_Style"
android:background="@drawable/bg_r15_white">
<TextView
style="@style/My_Info_Item_Title_Style"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/id_type" />
<TextView
style="@style/My_Info_Item_Title_Style"
android:layout_width="0dp"
android:layout_gravity="right|center"
android:layout_weight="1"
android:gravity="right"
tools:text="身份证" />
</LinearLayout>
<LinearLayout
style="@style/My_Info_Item_LL_Style"
android:background="@drawable/bg_r15_white">
<TextView
style="@style/My_Info_Item_Title_Style"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/id_number" />
<TextView
android:id="@+id/tv_id_number"
style="@style/My_Info_Item_Title_Style"
android:layout_width="0dp"
android:layout_gravity="right|center"
android:layout_weight="1"
android:gravity="right"
tools:text="" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_1"
style="@style/My_Info_Item_LL_Style"
android:layout_marginTop="@dimen/dp_9"
android:background="@drawable/bg_r15_white">
<LinearLayout
style="@style/My_Info_Item_Title_Style"
android:layout_width="0dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/My_Info_Item_Title_Style"
android:text="@string/update_real_name_info"
android:textSize="@dimen/sp_14"
/>
<TextView
style="@style/My_Info_Item_Title_Style"
android:text="@string/update_real_name_desc"
android:textColor="@color/color_FF999999"
android:textSize="@dimen/sp_12"/>
</LinearLayout>
<ImageView style="@style/My_Info_Item_Arrow_Style" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_2"
style="@style/My_Info_Item_LL_Style"
android:layout_marginTop="@dimen/dp_9"
android:background="@drawable/bg_r15_white">
<LinearLayout
style="@style/My_Info_Item_Title_Style"
android:layout_width="0dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/My_Info_Item_Title_Style"
android:text="@string/correct_real_name"
android:textSize="@dimen/sp_14"
/>
<TextView
style="@style/My_Info_Item_Title_Style"
android:text="@string/correct_real_name_desc"
android:textColor="@color/color_FF999999"
android:textSize="@dimen/sp_12"/>
</LinearLayout>
<ImageView style="@style/My_Info_Item_Arrow_Style" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -100,7 +100,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
>
<TextView
@@ -195,7 +195,8 @@
android:id="@+id/l_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:visibility="gone">
<TextView
android:layout_width="match_parent"

View File

@@ -0,0 +1,243 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.RechargeActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout
android:id="@+id/rl_1"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_112"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@mipmap/cz_bj"
app:layout_constraintTop_toBottomOf="@id/top_bar">
<TextView
android:id="@+id/t_1"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_21"
android:gravity="left|center_vertical"
android:text="@string/recharge"
android:textColor="@color/color_FF000000"
android:textSize="@dimen/sp_16" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/t_1"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:layout_marginTop="@dimen/dp_8">
<ImageView
android:id="@+id/im_1"
android:layout_width="@dimen/dp_28"
android:layout_height="@dimen/dp_28"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:layout_marginStart="@dimen/dp_16"
android:src="@mipmap/jinb" />
<TextView
android:id="@+id/tv_jb"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_38"
android:layout_centerInParent="true"
android:layout_marginStart="@dimen/dp_4"
android:layout_toRightOf="@+id/im_1"
android:gravity="left|center"
android:text="111111000"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_28" />
</RelativeLayout>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@id/rl_1" />
<RelativeLayout
android:id="@+id/r_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toTopOf="@+id/v_view"
app:layout_constraintTop_toBottomOf="@+id/recycler_view">
<TextView
android:id="@+id/t_4"
android:layout_width="@dimen/dp_18"
android:layout_height="@dimen/dp_27"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_centerInParent="true"
android:gravity="center"
android:layout_marginStart="@dimen/dp_16"
android:text="¥"
android:textStyle="bold"
android:textSize="@dimen/sp_18"
android:textColor="@color/color_FF000000"
/>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_custom_amount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/t_4"
android:background="@null"
android:layout_centerInParent="true"
android:hint="请输入充值金额(300-50000元)"
android:textColorHint="@color/color_FF999999"
android:inputType="numberDecimal"
android:textSize="@dimen/sp_12"/>
<TextView
android:id="@+id/t_5"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_27"
android:layout_centerInParent="true"
android:layout_alignParentEnd="true"
android:gravity="center"
android:layout_marginStart="@dimen/dp_4"
android:text="将获得0金币"
android:textStyle="bold"
/>
</RelativeLayout>
<View
android:id="@+id/v_view"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_0_5"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@color/color_FF999999"
app:layout_constraintTop_toBottomOf="@id/r_4" />
<TextView
android:id="@+id/t_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:text="@string/payment_method"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_16"
app:layout_constraintTop_toBottomOf="@id/v_view" />
<RelativeLayout
android:id="@+id/rl_weixin_pay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@+id/t_2">
<ImageView
android:id="@+id/im_wx"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:src="@mipmap/wx_zf" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_1"
android:layout_toRightOf="@+id/im_wx"
android:text="@string/wechat_payment"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14" />
<ImageView
android:id="@+id/iv_weixin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/dp_2"
android:src="@drawable/level_pay" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_three_pay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@+id/rl_weixin_pay">
<ImageView
android:id="@+id/im_zfb"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:src="@mipmap/sign_icon_zfb" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_1"
android:layout_toRightOf="@+id/im_zfb"
android:text="@string/alipay_payment"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14" />
<ImageView
android:id="@+id/iv_three_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/dp_2"
android:src="@drawable/level_pay" />
</RelativeLayout>
<TextView
android:id="@+id/tv_payment"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_alignParentBottom="true"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_57"
android:background="@drawable/cs"
android:gravity="center"
android:text="确认支付"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,192 @@
<?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"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<!-- <ScrollView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content">-->
<!-- <LinearLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:orientation="vertical">-->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_16"
app:TopBarTitle="房间补贴" />
<!-- <RelativeLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="100dp"-->
<!-- android:background="@drawable/bg_r16_tb_ffffff" />-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_80"
android:background="@drawable/bg_r16_tb_ffffff"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:gravity="center">
<TextView
android:id="@+id/tv_last_week"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_24"
android:layout_alignParentStart="true"
android:textColor="@color/color_FF333333"
android:textSize="16sp"
android:text="上周补贴" />
<TextView
android:id="@+id/tv_grant"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_21"
android:layout_alignParentEnd="true"
android:textSize="14sp"
android:text="已发放" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#ECECEC" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:gravity="center">
<TextView
android:id="@+id/tv_last"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_24"
android:layout_alignParentStart="true"
android:gravity="center"
android:textColor="#FF8ACC"
android:textSize="14sp"
tools:text="累计流水10000" />
<TextView
android:id="@+id/tv_grant2"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_21"
android:layout_alignParentEnd="true"
android:textColor="#B265FA"
android:textSize="14sp"
tools:text="获得补贴10" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:gravity="center"
>
<TextView
android:id="@+id/tv_this_week"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_24"
android:layout_alignParentStart="true"
android:text="本周补贴"
android:textColor="@color/color_FF333333"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_week_grant"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_21"
android:layout_alignParentEnd="true"
android:textSize="14sp"
android:text="未发放" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#ECECEC" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:gravity="center">
<TextView
android:id="@+id/tv_this"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_24"
android:layout_alignParentStart="true"
android:gravity="center"
android:text="累计流水10000"
android:textColor="#FF8ACC"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_grant3"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_21"
android:layout_alignParentEnd="true"
android:text="获得补贴10"
android:textColor="#B265FA"
android:textSize="14sp" />
</RelativeLayout>
<!-- <ScrollView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="@dimen/dp_20">-->
<WebView
android:id="@+id/iv_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<!-- </ScrollView>-->
</LinearLayout>
</LinearLayout>
</FrameLayout>
<!-- </LinearLayout>-->
<!-- </ScrollView>-->
</layout>

View File

@@ -0,0 +1,104 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.RoomAllowanceDetailActivity">
<data></data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
app:TopBarTitle="历史记录" />
<!-- <RelativeLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="100dp"-->
<!-- android:background="@drawable/bg_r16_tb_ffffff" />-->
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_80"
android:background="@drawable/bg_r16_tb_ffffff"
android:padding="16dp">
<LinearLayout
android:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="0dp"
android:layout_height="@dimen/dp_24"
android:layout_weight="2"
android:gravity="center"
android:text="时间"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_16" />
<TextView
android:layout_width="0dp"
android:layout_height="@dimen/dp_24"
android:layout_weight="1"
android:gravity="center"
android:text="累计流水"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_16" />
<TextView
android:layout_width="0dp"
android:layout_height="@dimen/dp_24"
android:layout_weight="1"
android:gravity="center"
android:text="获得补贴"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_16" />
<TextView
android:layout_width="0dp"
android:layout_height="@dimen/dp_24"
android:layout_weight="0.7"
android:gravity="center"
android:text="状态"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_16" />
</LinearLayout>
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/dp_22"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll_title"
app:srlEnableLoadMore="true"
app:srlEnableRefresh="false">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycle_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="12dp" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>
</layout>

View File

@@ -0,0 +1,250 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.RoomDetailsActivity">
<data>
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_16"
app:TopBarTitle="房间明细"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:background="@drawable/bg_r16_tb_ffffff">
</RelativeLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_60"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:background="@mipmap/details_b">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginStart="@dimen/dp_14"
android:layout_marginTop="@dimen/dp_10"
android:text="累计收益"
android:textColor="@color/color_FF999999"
android:textSize="12sp" />
<RelativeLayout
android:id="@+id/rl3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_16"
android:gravity="center">
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始日期"
android:textColor="@color/color_FF999999"
android:textSize="12sp" />
<ImageView
android:id="@+id/iv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_toEndOf="@+id/tv2"
android:paddingTop="@dimen/dp_3"
android:src="@mipmap/data1" />
<TextView
android:id="@+id/tv22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_toEndOf="@+id/iv1"
android:text="结束日期"
android:textColor="@color/color_FF999999"
android:textSize="12sp" />
<ImageView
android:id="@+id/iv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_toEndOf="@+id/tv22"
android:paddingTop="@dimen/dp_2"
android:src="@mipmap/data2" />
</RelativeLayout>
<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:layout_alignParentStart="true"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_10"
android:drawableLeft="@mipmap/im_zs"
android:drawablePadding="@dimen/dp_5"
android:text="10000"
android:textColor="@color/color_FF333333"
android:textSize="23sp" />
<TextView
android:id="@+id/tv4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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" />
<TextView
android:id="@+id/tv5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv4"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_3"
android:drawableLeft="@mipmap/jinb"
android:text="10000"
android:textColor="@color/color_FF333333"
android:textSize="14sp" />
</RelativeLayout>
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srlEnableLoadMore="true"
app:srlEnableRefresh="false">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="12dp" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
<!-- <RelativeLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="@dimen/dp_10"-->
<!-- tools:ignore="RtlSymmetry">-->
<!-- <TextView-->
<!-- android:id="@+id/tv6"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentStart="true"-->
<!-- android:text="2025-3-6"-->
<!-- android:textColor="@color/color_FF333333"-->
<!-- android:textSize="12sp" />-->
<!-- <RelativeLayout-->
<!-- android:id="@+id/rl1"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentEnd="true"-->
<!-- android:layout_marginEnd="@dimen/dp_16"-->
<!-- android:gravity="center">-->
<!-- <TextView-->
<!-- android:id="@+id/tv7"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="收益"-->
<!-- android:textColor="@color/color_FF333333"-->
<!-- android:textSize="12sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv8"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginStart="4dp"-->
<!-- android:layout_toEndOf="@+id/tv7"-->
<!-- android:text="¥10000"-->
<!-- android:textColor="#ffff8acc"-->
<!-- android:textSize="12sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv9"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginStart="5dp"-->
<!-- android:layout_toEndOf="@+id/tv8"-->
<!-- android:text="流水"-->
<!-- android:textColor="@color/color_FF333333"-->
<!-- android:textSize="12sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv10"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginStart="4dp"-->
<!-- android:layout_toEndOf="@+id/tv9"-->
<!-- android:text="¥10000"-->
<!-- android:textColor="#ffff8acc"-->
<!-- android:textSize="12sp" />-->
<!-- </RelativeLayout>-->
<!-- <androidx.recyclerview.widget.RecyclerView-->
<!-- android:id="@+id/rv"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_below="@+id/rl1"-->
<!-- android:layout_marginTop="12dp"-->
<!-- tools:listitem="@layout/room_details_list"/>-->
<!-- </RelativeLayout>-->
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>
</layout>

View File

@@ -38,23 +38,39 @@
android:layout_marginTop="@dimen/dp_30"
>
<com.tuo.customview.VerificationCodeView
<com.qxcm.moduleutil.widget.SplitEditText
android:id="@+id/verificationcodeview"
android:layout_width="wrap_content"
android:layout_marginEnd="@dimen/dp_66"
android:layout_marginStart="@dimen/dp_66"
android:layout_height="@dimen/dp_63"
android:layout_centerHorizontal="true"
android:layout_marginStart="@dimen/dp_36"
android:layout_marginEnd="@dimen/dp_36"
app:icv_et_bg_focus="@mipmap/bg_verify_view_item_normal"
app:icv_et_bg_normal="@mipmap/bg_verify_view_item_normal"
app:icv_et_divider_drawable="@drawable/shape_divider_vcode"
app:icv_et_number="4"
app:icv_et_pwd="false"
app:icv_et_pwd_radius="10dp"
app:icv_et_text_color="@color/black"
app:icv_et_text_size="18sp"
app:icv_et_width="@dimen/dp_48"
/>
android:inputType="numberPassword"
android:textColor="@color/color_FF333333"
app:borderColor="#EFF2F8"
app:contentNumber="4"
app:contentShowMode="text"
app:corner_size="5dp"
app:inputBoxSquare="true"
app:inputBoxStyle="singleBox"
app:spaceSize="7dp" />
<!-- <com.tuo.customview.VerificationCodeView-->
<!-- android:id="@+id/verificationcodeview"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="@dimen/dp_63"-->
<!-- android:layout_centerHorizontal="true"-->
<!-- android:layout_marginStart="@dimen/dp_36"-->
<!-- android:layout_marginEnd="@dimen/dp_36"-->
<!-- app:icv_et_bg_focus="@mipmap/bg_verify_view_item_normal"-->
<!-- app:icv_et_bg_normal="@mipmap/bg_verify_view_item_normal"-->
<!-- app:icv_et_divider_drawable="@drawable/shape_divider_vcode"-->
<!-- app:icv_et_number="4"-->
<!-- app:icv_et_pwd="false"-->
<!-- app:icv_et_pwd_radius="10dp"-->
<!-- app:icv_et_text_color="@color/black"-->
<!-- app:icv_et_text_size="18sp"-->
<!-- app:icv_et_width="@dimen/dp_48"-->
<!-- />-->
</RelativeLayout>

View File

@@ -0,0 +1,115 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.UserHomepageActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true">
<!-- <androidx.coordinatorlayout.widget.CoordinatorLayout-->
<!-- android:id="@+id/coordinator_layout"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="0dp"-->
<!-- app:layout_constraintTop_toTopOf="parent">-->
<!-- <include-->
<!-- android:id="@+id/me_user"-->
<!-- layout="@layout/user_home" />-->
<!-- <com.scwang.smartrefresh.layout.SmartRefreshLayout-->
<!-- android:id="@+id/smart_refresh_layout"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:background="@color/transparent"-->
<!-- app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"-->
<!-- app:srlEnableAutoLoadMore="false"-->
<!-- app:srlEnableLoadMore="false"-->
<!-- app:srlEnableRefresh="false">-->
<!-- <androidx.core.widget.NestedScrollView-->
<!-- android:id="@+id/nest_scroll"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:background="@color/transparent"-->
<!-- app:layout_constraintTop_toTopOf="parent">-->
<!-- <LinearLayout-->
<!-- android:id="@+id/ll_parent"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:descendantFocusability="blocksDescendants"-->
<!-- android:orientation="vertical">-->
<!-- <FrameLayout-->
<!-- android:id="@+id/fl_skills"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
<!-- <FrameLayout-->
<!-- android:id="@+id/fl_gift_wall"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
<!-- <FrameLayout-->
<!-- android:id="@+id/fl_trend_container"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
<!-- <TextView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="@dimen/dp_15"-->
<!-- android:gravity="center"-->
<!-- android:paddingBottom="@dimen/dp_10"-->
<!-- android:text="人家是有底线的~"-->
<!-- android:textColor="@color/black"-->
<!-- android:textSize="@dimen/sp_12" />-->
<!-- </LinearLayout>-->
<!-- </androidx.core.widget.NestedScrollView>-->
<!-- </com.scwang.smartrefresh.layout.SmartRefreshLayout>-->
<!-- </androidx.coordinatorlayout.widget.CoordinatorLayout>-->
<RelativeLayout
android:id="@+id/rl_head"
android:layout_width="match_parent"
tools:background="@mipmap/default_avatar"
android:layout_height="@dimen/dp_207"
app:layout_constraintTop_toTopOf="parent">
<com.stx.xhb.xbanner.XBanner
android:id="@+id/xbanner"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:isAutoPlay="false"
app:pointsVisibility="false"
app:pointNormal="@drawable/xbanner_point_normal"
app:pointSelect="@drawable/xbanner_point_selected"
app:pointTopBottomPadding="@dimen/dp_37" />
</RelativeLayout>
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>
<com.qxcm.moduleutil.widget.ScrollViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_80"
app:layout_constraintTop_toBottomOf="@+id/top_bar"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,227 @@
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.WithdrawalActivity">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.qxcm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
/>
<RelativeLayout
android:id="@+id/rl_1"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_112"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@mipmap/cz_bj"
app:layout_constraintTop_toBottomOf="@id/top_bar">
<TextView
android:id="@+id/t_1"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_21"
android:gravity="left|center_vertical"
android:text="我的钻石"
android:textColor="@color/color_FF000000"
android:textSize="@dimen/sp_16" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/t_1"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:layout_marginTop="@dimen/dp_8">
<ImageView
android:id="@+id/im_1"
android:layout_width="@dimen/dp_28"
android:layout_height="@dimen/dp_28"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:layout_marginStart="@dimen/dp_16"
android:src="@mipmap/zs_tb" />
<TextView
android:id="@+id/tv_jb"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_38"
android:layout_centerInParent="true"
android:layout_marginStart="@dimen/dp_4"
android:layout_toRightOf="@+id/im_1"
android:gravity="left|center"
android:text="111111000"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_28" />
</RelativeLayout>
</RelativeLayout>
<TextView
android:id="@+id/t_2"
android:layout_width="@dimen/dp_48"
android:layout_height="@dimen/dp_18"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:text="提现金额"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_12"
app:layout_constraintTop_toBottomOf="@id/rl_1"
app:layout_constraintStart_toStartOf="parent"/>
<RelativeLayout
android:id="@+id/r_4"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_27"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toTopOf="@+id/v_view"
app:layout_constraintTop_toBottomOf="@+id/t_2">
<TextView
android:id="@+id/t_4"
android:layout_width="@dimen/dp_18"
android:layout_height="@dimen/dp_27"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_centerInParent="true"
android:gravity="center"
android:text="¥"
android:textStyle="bold"
android:textSize="@dimen/sp_18"
android:textColor="@color/color_FF000000"
/>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_custom_amount"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_18"
android:layout_toRightOf="@+id/t_4"
android:background="@null"
android:layout_centerInParent="true"
android:hint="请输入"
android:textColorHint="@color/color_FF999999"
android:inputType="numberDecimal"
android:textSize="@dimen/sp_12"/>
<TextView
android:id="@+id/t_5"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_18"
android:layout_centerInParent="true"
android:layout_alignParentEnd="true"
android:gravity="center"
android:layout_marginStart="@dimen/dp_4"
android:text="全部提现"
android:textSize="@dimen/sp_12"
android:textColor="#0DFB89"
/>
</RelativeLayout>
<View
android:id="@+id/v_view"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_0_5"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@color/color_FF999999"
app:layout_constraintTop_toBottomOf="@id/r_4" />
<TextView
android:id="@+id/t_3"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_18"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_6"
android:layout_marginEnd="@dimen/dp_16"
android:text="提现扣除服务费6%"
android:textColor="@color/color_ff2727"
app:layout_constraintTop_toBottomOf="@+id/v_view"
app:layout_constraintStart_toStartOf="parent"
android:textSize="@dimen/sp_12"
/>
<TextView
android:id="@+id/t_6"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:text="提现方式"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@id/t_3" />
<RelativeLayout
android:id="@+id/rl_three_pay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@+id/t_6">
<ImageView
android:id="@+id/im_zfb"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:src="@mipmap/sign_icon_zfb" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_1"
android:layout_toRightOf="@+id/im_zfb"
android:text="@string/alipay_payment"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14" />
<ImageView
android:id="@+id/iv_three_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/dp_2"
android:src="@drawable/level_pay" />
</RelativeLayout>
<TextView
android:id="@+id/tv_payment"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_alignParentBottom="true"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_57"
android:background="@drawable/cs"
android:gravity="center"
android:text="确认提现"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,17 @@
<?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">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/recyclerView"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rv_my_bag"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:overScrollMode="never"
android:scrollbars="none"
/>
</layout>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
>
<androidx.recyclerview.widget.RecyclerView
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"
/>
</layout>

View File

@@ -0,0 +1,67 @@
<?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"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_64">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_transparent"
app:elevation="0dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraint_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/dp_10"
app:layout_scrollFlags="scroll|enterAlways">
<include
android:id="@+id/header_info"
layout="@layout/user_top"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.3" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.example.moduletablayout.CustomSlidingTabLayout
android:id="@+id/sliding_tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_16"
android:layout_marginRight="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
app:tl_indicator_corner_radius="@dimen/dp_3"
app:tl_indicator_drawable="@drawable/index_bg_indicator"
app:tl_indicator_height="@dimen/dp_6"
app:tl_indicator_margin_bottom="@dimen/dp_3"
app:tl_showCateIndicator="false"
app:tl_indicator_width="@dimen/dp_28"
app:tl_tab_width="@dimen/dp_50"
app:tl_textBold="SELECT"
app:tl_textSelectColor="@color/color_2B2823"
app:tl_textSelectedSize="@dimen/sp_16"
app:tl_textUnselectColor="@color/color_FF999999"
app:tl_textsize="@dimen/sp_12" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginStart="@dimen/dp_14"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>

View File

@@ -165,8 +165,8 @@
<ImageView
android:id="@+id/tv_home"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_width="@dimen/dp_60"
android:layout_height="@dimen/dp_27"
android:src="@mipmap/me_edit"
android:scaleType="centerCrop"
/>

Some files were not shown because too many files have changed in this diff Show More