double类型的科学计数法解决和礼物墙展示修改,金币明细弹窗修改

This commit is contained in:
wushaocheng
2022-11-27 23:32:41 +08:00
parent 286e5f627d
commit bf20df4caa
17 changed files with 111 additions and 107 deletions

View File

@@ -45,8 +45,8 @@ class EarnRecordActivity : BaseViewBindingActivity<ActivityEarnRecordBinding>(),
earnRecordModel.earnRecordLiveData.observe(this) {
it?.let {
binding.tvDiamondNum.text = it.diamonds.toString()
binding.tvGoldNum.text = it.golds.toString()
binding.tvDiamondNum.text = String.format(it.diamonds.toString())
binding.tvGoldNum.text = String.format(it.golds.toString())
if (it.isClanElder) {
binding.tvGoldDetail.visibility = View.VISIBLE
binding.tvConvertWithdraw.visibility = View.VISIBLE

View File

@@ -97,7 +97,7 @@ class EarnWithdrawActivity : BaseViewBindingActivity<ActivityEarnWithdrawBinding
}
binding.tvAll.setOnClickListener { view ->
binding.edGold.setText(it.golds.toString())
binding.edGold.setText(String.format(it.golds.toString()))
}
binding.tvWithdraw.setOnClickListener { view ->

View File

@@ -25,6 +25,7 @@ import com.yizhuan.erban.earn.adapter.GoldRoomAdapter
import com.yizhuan.erban.module_hall.hall.view.dialog.TimePickerDialog
import com.yizhuan.erban.ui.utils.RVDelegate
import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration
import com.yizhuan.xchat_android_core.earn.bean.HallVo
import com.yizhuan.xchat_android_core.earn.bean.MemberSettlement
/**
@@ -42,6 +43,7 @@ class GoldDetailActivity : BaseViewBindingActivity<ActivityGoldDetailBinding>(),
private lateinit var roomPopupWindow: PopupWindow
private var settlementList : List<MemberSettlement> ?= null
private var hallVoList : List<HallVo> ?= null
companion object {
@@ -121,7 +123,7 @@ class GoldDetailActivity : BaseViewBindingActivity<ActivityGoldDetailBinding>(),
roomPopupWindow.isOutsideTouchable = true
roomPopupWindow.isFocusable = true
val list = settlementList?.map { it.hallName }?.toMutableList()
val list = hallVoList?.map { it.hallName }?.toMutableList()
list?.add(0, getString(R.string.all))
val recyclerview = contentView.findViewById<RecyclerView>(R.id.mRecyclerView)
val goldRoomAdapter = GoldRoomAdapter()
@@ -159,9 +161,10 @@ class GoldDetailActivity : BaseViewBindingActivity<ActivityGoldDetailBinding>(),
earnRecordModel.memberSettleLiveData.observe(this) {
it?.let {
binding.tvTotalGold.text = it.total.toString()
binding.tvTotalGold.text = String.format(it.total.toString())
rvDelegate.setNewData(it.memberSettlement)
settlementList = it.memberSettlement
hallVoList = it.hallVoList
}
}
}

View File

@@ -1,78 +1,56 @@
package com.yizhuan.erban.ui.user;
package com.yizhuan.erban.ui.user
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.viewpager.widget.ViewPager
import com.netease.nim.uikit.StatusBarUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseViewBindingActivity
import com.yizhuan.erban.databinding.ActivityUserGiftBinding
import com.yizhuan.erban.ui.user.adapter.CommonWrapIndicatorAdapter
import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
import com.yizhuan.xchat_android_library.utils.ResUtil
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
class UserGiftActivity : BaseViewBindingActivity<ActivityUserGiftBinding>() {
import com.netease.nim.uikit.StatusBarUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.base.BaseActivity;
import com.yizhuan.erban.ui.user.adapter.UserInfoIndicatorAdapter;
import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter;
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
import com.yizhuan.xchat_android_library.utils.ResUtil;
override fun init() {
initWhiteTitleBar(ResUtil.getString(R.string.ui_user_usergiftactivity_01))
import java.util.ArrayList;
import java.util.List;
public class UserGiftActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_gift);
initWhiteTitleBar(ResUtil.getString(R.string.ui_user_usergiftactivity_01));
ViewPager viewPager = findViewById(R.id.view_pager);
MagicIndicator magicIndicator = findViewById(R.id.magic_indicator);
List<Fragment> fragmentList = new ArrayList<>(2);
val viewPager: ViewPager = binding.viewPager
val magicIndicator: MagicIndicator = binding.magicIndicator
val fragmentList: MutableList<Fragment> = ArrayList(2)
//礼物类型 1:普通礼物;2:辛运礼物
fragmentList.add(UserInfoGiftFragment.newInstance(1,true));
fragmentList.add(UserInfoGiftFragment.newInstance(2,true));
UserInfoPagerAdapter pagerAdapter = new UserInfoPagerAdapter(getSupportFragmentManager(), fragmentList);
final List<String> tagList = new ArrayList<>(2);
tagList.add(ResUtil.getString(R.string.ui_user_usergiftactivity_02));
tagList.add(ResUtil.getString(R.string.ui_user_usergiftactivity_03));
CommonNavigator commonNavigator = new CommonNavigator(context);
commonNavigator.setTitleWrapContent(true);
UserInfoIndicatorAdapter magicIndicatorAdapter = new UserInfoIndicatorAdapter(context, tagList);
magicIndicatorAdapter.setOnItemSelectListener((position, view) -> {
viewPager.setCurrentItem(position);
});
commonNavigator.setAdapter(magicIndicatorAdapter);
magicIndicator.setNavigator(commonNavigator);
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
viewPager.setOffscreenPageLimit(2);
viewPager.setAdapter(pagerAdapter);
ViewPagerHelper.bind(magicIndicator, viewPager);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
viewPager.requestLayout();
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
fragmentList.add(UserInfoGiftFragment.newInstance(1, true))
fragmentList.add(UserInfoGiftFragment.newInstance(2, true))
val pagerAdapter = UserInfoPagerAdapter(supportFragmentManager, fragmentList)
val tagList: MutableList<String> = ArrayList(2)
tagList.add(getString(R.string.me_ordinary_gift))
tagList.add(getString(R.string.me_lucky_gift))
val commonNavigator = CommonNavigator(context)
commonNavigator.setTitleWrapContent(true)
val magicIndicatorAdapter = CommonWrapIndicatorAdapter(context, tagList)
magicIndicatorAdapter.setOnItemSelectListener { position: Int, view: TextView? ->
viewPager.currentItem = position
}
commonNavigator.adapter = magicIndicatorAdapter
magicIndicator.navigator = commonNavigator
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
viewPager.offscreenPageLimit = 2
viewPager.adapter = pagerAdapter
ViewPagerHelper.bind(magicIndicator, viewPager)
}
@Override
protected boolean needSteepStateBar() {
return true;
override fun needSteepStateBar(): Boolean {
return true
}
@Override
protected void setStatusBar() {
StatusBarUtil.transparencyBar(this);
StatusBarUtil.StatusBarLightMode(this);
override fun setStatusBar() {
StatusBarUtil.transparencyBar(this)
StatusBarUtil.StatusBarLightMode(this)
}
}
}

View File

@@ -159,7 +159,7 @@ public class UserInfoGiftFragment extends BaseBindingFragment<FragmentUserInfoGi
}
userInfoItems.add(userInfoItem);
//非礼物详情页主需要12个就够了
if (!isDetails && i == 11) {
if (!isDetails && i == 10) {
break;
}
}

View File

@@ -1,5 +1,6 @@
package com.yizhuan.erban.ui.user.view
import android.content.Intent
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
@@ -8,6 +9,8 @@ import androidx.viewpager.widget.ViewPager.OnPageChangeListener
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseViewBindingFragment
import com.yizhuan.erban.databinding.FragmentUserinfoGiftWallBinding
import com.yizhuan.erban.earn.activity.GoldDetailActivity
import com.yizhuan.erban.ui.user.UserGiftActivity
import com.yizhuan.erban.ui.user.UserInfoGiftFragment
import com.yizhuan.erban.ui.user.adapter.CommonWrapIndicatorAdapter
import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter
@@ -22,6 +25,10 @@ class UserInfoGiftWallFragment : BaseViewBindingFragment<FragmentUserinfoGiftWal
override fun init() {
initGiftList()
binding.ivGiftDetail.setOnClickListener {
val starter = Intent(context, UserGiftActivity::class.java)
context?.startActivity(starter)
}
}
/**
@@ -52,21 +59,6 @@ class UserInfoGiftWallFragment : BaseViewBindingFragment<FragmentUserinfoGiftWal
viewPager.offscreenPageLimit = 2
viewPager.adapter = pagerAdapter
ViewPagerHelper.bind(magicIndicator, viewPager)
viewPager.addOnPageChangeListener(object : OnPageChangeListener {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
}
override fun onPageSelected(position: Int) {
viewPager.requestLayout()
}
override fun onPageScrollStateChanged(state: Int) {}
})
}
}

View File

@@ -86,7 +86,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_6"
android:text="0"
android:text="0.00"
android:textColor="@color/color_572714"
android:textSize="@dimen/text_size_24"
android:textStyle="bold" />

View File

@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_normal_1c1b22"
android:background="@color/color_white"
android:orientation="vertical">
<com.yizhuan.erban.base.TitleBar
@@ -18,8 +18,8 @@
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_gravity="center_horizontal"
android:paddingLeft="13dp"
android:paddingRight="10dp" />
android:paddingStart="13dp"
android:paddingEnd="10dp" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"

View File

@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/ll_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_ffffff_8"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0">
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
android:id="@+id/magic_indicator_gift"
@@ -27,5 +28,19 @@
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/iv_gift_detail"
android:src="@drawable/icon_arrow_right_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_8"
android:paddingEnd="@dimen/dp_8"
android:paddingTop="@dimen/dp_8"
android:paddingBottom="@dimen/dp_8"
android:layout_marginEnd="15dp"
android:layout_marginTop="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -7,6 +7,7 @@
android:background="@color/color_white"
android:paddingTop="@dimen/dp_4"
android:paddingBottom="@dimen/dp_4"
android:singleLine="true"
android:maxLines="1"
android:ellipsize="end"
android:textColor="@color/color_1F1A4E"

View File

@@ -8,7 +8,7 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mRecyclerView"
android:layout_width="@dimen/dp_100"
android:layout_height="wrap_content"
android:layout_height="150dp"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_8"

View File

@@ -1,6 +1,9 @@
package com.yizhuan.xchat_android_core.earn.bean
import java.math.BigDecimal
data class ClanHallMemberIncomeTotalInfo(
val total: Double,
val total: BigDecimal,
val hallVoList: List<HallVo>,
val memberSettlement: List<MemberSettlement>
)

View File

@@ -1,10 +1,11 @@
package com.yizhuan.xchat_android_core.earn.bean
import java.io.Serializable
import java.math.BigDecimal
data class ConfigWithdrawInfo(
val account: WithdrawAccount? = null,
val golds: Double,//钱包当前金币数
val golds: BigDecimal,//钱包当前金币数
val remainTimes: Int,//周剩余次数
val fee: Double,//手续费
val minGolds: Long,

View File

@@ -1,10 +1,12 @@
package com.yizhuan.xchat_android_core.earn.bean
import java.math.BigDecimal
data class EarnRecordInfo(
val uid: Long,
val diamonds: Double,
val diamonds: BigDecimal,
val crystals: Double,
val golds: Double,
val golds: BigDecimal,
val isClan: Boolean,
val isClanElder: Boolean
)

View File

@@ -1,10 +1,11 @@
package com.yizhuan.xchat_android_core.earn.bean
import java.io.Serializable
import java.math.BigDecimal
data class GoldToDiamondInfo(
val diamonds: Double,
val golds: Double,
val diamonds: BigDecimal,
val golds: BigDecimal,
val rate: Double,
val maxDiamonds: Long,
val minDiamonds: Long,

View File

@@ -0,0 +1,6 @@
package com.yizhuan.xchat_android_core.earn.bean
data class HallVo(
val hallId: Long,
val hallName: String,
)

View File

@@ -1,11 +1,13 @@
package com.yizhuan.xchat_android_core.earn.bean
import java.math.BigDecimal
data class MemberSettlement(
val uid: Long,
val nick: String,//昵称
val avatar: String,//头像
val exchangeGolds: Double,//兑换金币数
val settlementGolds: Double,//结算金币数
val exchangeGolds: BigDecimal,//兑换金币数
val settlementGolds: BigDecimal,//结算金币数
val hallId: Long,
val hallOwnerUid: Long,
val hallAvatar: String,//房间头像