Commit e5e5fa0d authored by jyx's avatar jyx

优化样式

parent d70d540d
...@@ -272,6 +272,10 @@ ...@@ -272,6 +272,10 @@
android:name=".ui.activitys.ShareActivity" android:name=".ui.activitys.ShareActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity
android:name=".ui.activitys.CoinRecordActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity <activity
android:name=".ui.activitys.C2CIMActivity" android:name=".ui.activitys.C2CIMActivity"
......
...@@ -13,6 +13,7 @@ import com.duben.roseplaylet.ad.TTAdManagerHolder; ...@@ -13,6 +13,7 @@ import com.duben.roseplaylet.ad.TTAdManagerHolder;
import com.duben.roseplaylet.common.Constant; import com.duben.roseplaylet.common.Constant;
import com.duben.roseplaylet.manager.CsjAppLogManager; import com.duben.roseplaylet.manager.CsjAppLogManager;
import com.duben.roseplaylet.manager.CsjDJXSdkManager; import com.duben.roseplaylet.manager.CsjDJXSdkManager;
import com.duben.roseplaylet.manager.ShareSdkManager;
import com.duben.roseplaylet.manager.TXCSDKService; import com.duben.roseplaylet.manager.TXCSDKService;
import com.duben.roseplaylet.manager.TalkingDataManager; import com.duben.roseplaylet.manager.TalkingDataManager;
import com.duben.roseplaylet.net.LoanService; import com.duben.roseplaylet.net.LoanService;
...@@ -20,7 +21,6 @@ import com.duben.roseplaylet.net.V6Service; ...@@ -20,7 +21,6 @@ import com.duben.roseplaylet.net.V6Service;
import com.duben.roseplaylet.utils.AppPreferencesManager; import com.duben.roseplaylet.utils.AppPreferencesManager;
import com.duben.roseplaylet.utils.ForegroundOrBackground; import com.duben.roseplaylet.utils.ForegroundOrBackground;
import com.duben.oaid.MiitHelper; import com.duben.oaid.MiitHelper;
import com.mob.MobSDK;
import com.orhanobut.logger.AndroidLogAdapter; import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.FormatStrategy; import com.orhanobut.logger.FormatStrategy;
import com.orhanobut.logger.Logger; import com.orhanobut.logger.Logger;
...@@ -99,7 +99,7 @@ public class MintsApplication extends MultiDexApplication { ...@@ -99,7 +99,7 @@ public class MintsApplication extends MultiDexApplication {
CrashReport.initCrashReport(this, "d035276c5b", BuildConfig.DEBUG); CrashReport.initCrashReport(this, "d035276c5b", BuildConfig.DEBUG);
//Mob隐私授权接口 //Mob隐私授权接口
MobSDK.submitPolicyGrantResult(true); ShareSdkManager.INSTANCE.submitPolicyGrantResult();
} }
/** /**
......
...@@ -11,8 +11,8 @@ object ShareSdkManager { ...@@ -11,8 +11,8 @@ object ShareSdkManager {
* 授权弹窗 同意时调用 * 授权弹窗 同意时调用
*/ */
fun submitPolicyGrantResult() { fun submitPolicyGrantResult() {
//Mob功能调用 //Mob隐私授权接口
MobSDK.submitPolicyGrantResult(true, null) MobSDK.submitPolicyGrantResult(true)
} }
} }
\ No newline at end of file
...@@ -113,9 +113,7 @@ class UserHelper private constructor() { ...@@ -113,9 +113,7 @@ class UserHelper private constructor() {
private fun doBpkg() { private fun doBpkg() {
val application = MintsApplication.getContext() as MintsApplication val application = MintsApplication.getContext() as MintsApplication
if (!UserManager.getInstance().isCanHaveRuidCode) {
if (MateUtils.getAppMetaData(application, "CHANNEL_NAME") != Constant.APP_B_PKG) {
// 如果不是B包 不处理
return return
} }
......
package com.duben.roseplaylet.mvp.model
data class CoinList(
val list: ArrayList<CoinData> = arrayListOf()
) : java.io.Serializable
data class CoinData(
val addStr: String,
val date: String,
val remark: String,
val type: Int
) : java.io.Serializable
\ No newline at end of file
...@@ -18,7 +18,7 @@ data class DrawCashBean( ...@@ -18,7 +18,7 @@ data class DrawCashBean(
data class AlipayMsgBean( data class AlipayMsgBean(
val idcard: String, val idcard: String? = "",
val alipayAccount: String, val alipayAccount: String? = "",
val idcardName: String val idcardName: String? = ""
) : java.io.Serializable ) : java.io.Serializable
\ No newline at end of file
...@@ -42,6 +42,37 @@ class BasicUserProfilePresenter : BasePresenter<BasicUserProfileView>() { ...@@ -42,6 +42,37 @@ class BasicUserProfilePresenter : BasePresenter<BasicUserProfileView>() {
}) })
} }
fun getRuserShareCode() {
AppHttpManager.getInstance(loanApplication)
.call(loanService.ruserShareCode,
object : BaseSubscriber<BaseResponse<JsonObject>>() {
override fun onCompleted() {
if (isLinkView) return
}
override fun onError(e: Throwable) {
if (isLinkView) return
view.showToast(e.message)
view.getRuserShareCodeFail()
}
override fun onNext(baseResponse: BaseResponse<JsonObject>) {
if (isLinkView) return
val code = baseResponse.status
val message = baseResponse.message
when (code) {
200 -> view.getRuserShareCodeSuc()
else -> {
view.showToast(message)
view.getRuserShareCodeFail()
}
}
}
})
}
fun initBasicInfo(birthday: String, nickName: String, sex: Int, headerUrl: String) { fun initBasicInfo(birthday: String, nickName: String, sex: Int, headerUrl: String) {
val vo = HashMap<String, Any>() val vo = HashMap<String, Any>()
......
package com.duben.roseplaylet.mvp.presenters
import com.duben.library.net.neterror.BaseSubscriber
import com.duben.library.net.neterror.Throwable
import com.duben.roseplaylet.manager.AppHttpManager
import com.duben.roseplaylet.mvp.model.BaseResponse
import com.duben.roseplaylet.mvp.model.CoinList
import com.duben.roseplaylet.mvp.views.CoinRecordView
import java.util.HashMap
class CoinRecordPresenter : BasePresenter<CoinRecordView>() {
fun getHistory(page: Int, size: Int) {
val vo = HashMap<String, Any>()
vo["page"] = page
vo["size"] = size
AppHttpManager.getInstance(loanApplication)
.call(loanService.getCoinList(vo), object : BaseSubscriber<BaseResponse<CoinList>>() {
override fun onCompleted() {
if (isLinkView) return
view.hideLoading()
}
override fun onNext(baseResponse: BaseResponse<CoinList>) {
if (isLinkView) return
view.hideLoading()
val code = baseResponse.status
val message = baseResponse.message
when (code) {
200 -> view.getCoinRecordSuc(baseResponse.data)
else -> {
view.getCoinFail()
view.showToast(message)
}
}
}
override fun onError(e: Throwable?) {
if (isLinkView) return
view.hideLoading()
view.showToast(e?.message)
view.getCoinFail()
}
})
}
}
\ No newline at end of file
...@@ -158,7 +158,6 @@ class InvitePresenter : BasePresenter<InviteView>() { ...@@ -158,7 +158,6 @@ class InvitePresenter : BasePresenter<InviteView>() {
override fun onError(e: Throwable) { override fun onError(e: Throwable) {
if (isLinkView) return if (isLinkView) return
view.showToast(e.message) view.showToast(e.message)
view.getShareUrlSucFail()
} }
override fun onNext(baseResponse: BaseResponse<JsonObject>) { override fun onNext(baseResponse: BaseResponse<JsonObject>) {
...@@ -168,12 +167,9 @@ class InvitePresenter : BasePresenter<InviteView>() { ...@@ -168,12 +167,9 @@ class InvitePresenter : BasePresenter<InviteView>() {
val message = baseResponse.message val message = baseResponse.message
when (code) { when (code) {
200 -> { 200 -> {}
// view.getShareUrlSuc(baseResponse.data)
}
else -> { else -> {
view.showToast(message) view.showToast(message)
view.getShareUrlSucFail()
} }
} }
} }
......
...@@ -3,4 +3,7 @@ package com.duben.roseplaylet.mvp.views ...@@ -3,4 +3,7 @@ package com.duben.roseplaylet.mvp.views
interface BasicUserProfileView : BaseView { interface BasicUserProfileView : BaseView {
fun initBasicSuc() fun initBasicSuc()
fun initBasicFail() fun initBasicFail()
fun getRuserShareCodeSuc()
fun getRuserShareCodeFail()
} }
package com.duben.roseplaylet.mvp.views
import com.duben.roseplaylet.mvp.model.CoinList
interface CoinRecordView : BaseView {
fun getCoinRecordSuc(data: CoinList)
fun getCoinFail()
}
\ No newline at end of file
...@@ -4,6 +4,7 @@ import android.content.Context; ...@@ -4,6 +4,7 @@ import android.content.Context;
import android.text.TextUtils; import android.text.TextUtils;
import com.duben.roseplaylet.mvp.model.AlipayMsgBean; import com.duben.roseplaylet.mvp.model.AlipayMsgBean;
import com.duben.roseplaylet.mvp.model.CoinList;
import com.duben.roseplaylet.mvp.model.DrawCashBean; import com.duben.roseplaylet.mvp.model.DrawCashBean;
import com.duben.roseplaylet.mvp.model.FaceParam; import com.duben.roseplaylet.mvp.model.FaceParam;
import com.duben.roseplaylet.mvp.model.HallList; import com.duben.roseplaylet.mvp.model.HallList;
...@@ -532,6 +533,12 @@ public interface LoanService { ...@@ -532,6 +533,12 @@ public interface LoanService {
@POST("roseApi/share/getCashouBaseMsg") @POST("roseApi/share/getCashouBaseMsg")
Observable<BaseResponse<DrawCashBean>> getCashouBaseMsg(); Observable<BaseResponse<DrawCashBean>> getCashouBaseMsg();
/**
* 出入记录
*/
@POST("roseApi/share/coinList")
Observable<BaseResponse<CoinList>> getCoinList(@Body Map<String, Object> vo);
/** /**
* 提现接口 * 提现接口
*/ */
......
...@@ -17,7 +17,6 @@ import com.duben.roseplaylet.common.OssType ...@@ -17,7 +17,6 @@ import com.duben.roseplaylet.common.OssType
import com.duben.roseplaylet.common.UserProfile import com.duben.roseplaylet.common.UserProfile
import com.duben.roseplaylet.manager.OssManager import com.duben.roseplaylet.manager.OssManager
import com.duben.roseplaylet.manager.UserHelper import com.duben.roseplaylet.manager.UserHelper
import com.duben.roseplaylet.manager.UserManager
import com.duben.roseplaylet.mvp.model.PickBean import com.duben.roseplaylet.mvp.model.PickBean
import com.duben.roseplaylet.mvp.presenters.BasicUserProfilePresenter import com.duben.roseplaylet.mvp.presenters.BasicUserProfilePresenter
import com.duben.roseplaylet.mvp.views.BasicUserProfileView import com.duben.roseplaylet.mvp.views.BasicUserProfileView
...@@ -36,7 +35,6 @@ import com.luck.picture.lib.tools.SdkVersionUtils ...@@ -36,7 +35,6 @@ import com.luck.picture.lib.tools.SdkVersionUtils
import com.permissionx.guolindev.PermissionX import com.permissionx.guolindev.PermissionX
import com.yalantis.ucrop.UCrop import com.yalantis.ucrop.UCrop
import kotlinx.android.synthetic.main.activity_basic_user_profile.* import kotlinx.android.synthetic.main.activity_basic_user_profile.*
import kotlinx.android.synthetic.main.dialog_nine_continue.*
import kotlinx.android.synthetic.main.header_layout.* import kotlinx.android.synthetic.main.header_layout.*
import java.io.File import java.io.File
...@@ -45,7 +43,7 @@ import java.io.File ...@@ -45,7 +43,7 @@ import java.io.File
*/ */
class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUserProfileView { class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUserProfileView {
private val userManager by lazy { UserManager.getInstance() } private var isHaveGuid = false
private var mSinglePickDialog: SinglePickDialog? = null private var mSinglePickDialog: SinglePickDialog? = null
...@@ -67,7 +65,6 @@ class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUser ...@@ -67,7 +65,6 @@ class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUser
basicUserProfilePresenter.attachView(this) basicUserProfilePresenter.attachView(this)
tv_title.text = "完善资料" tv_title.text = "完善资料"
tv_title.setTextColor(Color.WHITE) tv_title.setTextColor(Color.WHITE)
line.visibility = View.GONE line.visibility = View.GONE
if (UserHelper.instance.isBpkg()) { if (UserHelper.instance.isBpkg()) {
...@@ -92,21 +89,9 @@ class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUser ...@@ -92,21 +89,9 @@ class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUser
} }
if (UserHelper.instance.isBpkg()) { if (UserHelper.instance.isBpkg()) {
if (userManager.isCanUpdateRuidCode) { Handler(Looper.getMainLooper()).postDelayed({
// 有绑定的输出框 basicUserProfilePresenter.getRuserShareCode()
et_ruid_code.visibility = View.VISIBLE }, 1000)
} else {
et_ruid_code.visibility = View.GONE
}
if (userManager.isCanHaveRuidCode) {
// 能修改邀请码
et_ruid_code.isEnabled = true
} else {
et_ruid_code.isEnabled = false
et_ruid_code.setText(userManager.ruiCode)
}
} else {
et_ruid_code.visibility = View.GONE
} }
} }
...@@ -148,11 +133,8 @@ class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUser ...@@ -148,11 +133,8 @@ class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUser
} }
if (UserHelper.instance.isBpkg() && !isHaveGuid && et_ruid_code.text.toString()
if (UserHelper.instance.isBpkg() .isNotEmpty()
&& userManager.isCanUpdateRuidCode
&& userManager.isCanHaveRuidCode
&& et_ruid_code.text.toString().isNotEmpty()
) { ) {
basicUserProfilePresenter.updateRuserShareCode(et_ruid_code.text.toString()) basicUserProfilePresenter.updateRuserShareCode(et_ruid_code.text.toString())
} }
...@@ -206,6 +188,14 @@ class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUser ...@@ -206,6 +188,14 @@ class BasicUserProfileActivity : BaseActivity(), View.OnClickListener, BasicUser
override fun initBasicFail() {} override fun initBasicFail() {}
override fun getRuserShareCodeSuc() {
et_ruid_code.visibility = View.GONE
}
override fun getRuserShareCodeFail() {
et_ruid_code.visibility = View.VISIBLE
}
private fun showAlbum() { private fun showAlbum() {
val windowAnimationStyle = PictureWindowAnimationStyle() val windowAnimationStyle = PictureWindowAnimationStyle()
windowAnimationStyle.ofAllAnimation( windowAnimationStyle.ofAllAnimation(
......
...@@ -47,9 +47,9 @@ class BindAliPayActivity : BaseActivity(), View.OnClickListener, DrawCashView { ...@@ -47,9 +47,9 @@ class BindAliPayActivity : BaseActivity(), View.OnClickListener, DrawCashView {
initListener() initListener()
data?.let { data?.let {
if (it.alipayAccount.isNotEmpty() if (!it.alipayAccount.isNullOrEmpty()
&& it.idcard.isNotEmpty() && !it.idcard.isNullOrEmpty()
&& it.idcardName.isNotEmpty() && !it.idcardName.isNullOrEmpty()
) { ) {
et_name.hint = maskName(it.idcardName) et_name.hint = maskName(it.idcardName)
et_account.hint = maskPhoneNumber(it.alipayAccount) et_account.hint = maskPhoneNumber(it.alipayAccount)
......
package com.duben.roseplaylet.ui.activitys
import android.view.LayoutInflater
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import com.duben.roseplaylet.R
import com.duben.roseplaylet.common.Constant
import com.duben.roseplaylet.mvp.model.CoinList
import com.duben.roseplaylet.mvp.presenters.CoinRecordPresenter
import com.duben.roseplaylet.mvp.views.CoinRecordView
import com.duben.roseplaylet.ui.activitys.base.BaseActivity
import com.duben.roseplaylet.ui.adapter.CoinRecordAdapter
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
import kotlinx.android.synthetic.main.activity_coin_record.*
import kotlinx.android.synthetic.main.header_layout.*
class CoinRecordActivity : BaseActivity(), CoinRecordView, OnRefreshListener, OnLoadMoreListener {
private val coinRecordPresenter by lazy { CoinRecordPresenter() }
private var page = 1 // 分页
private var pageSize = Constant.PAGE_SIZE // 分页
private lateinit var coinRecordAdapter: CoinRecordAdapter
override fun getContentViewLayoutID() = R.layout.activity_coin_record
override fun initViewsAndEvents() {
coinRecordPresenter.attachView(this)
tv_title.text = "金币记录"
iv_left_icon.visibility = View.VISIBLE
iv_left_icon.setOnClickListener { finish() }
coinRecordAdapter = CoinRecordAdapter()
val emptyView = LayoutInflater.from(this).inflate(R.layout.item_empty_history, null)
coinRecordAdapter.setEmptyView(emptyView)
rv_coin_record.layoutManager = LinearLayoutManager(this)
rv_coin_record.adapter = coinRecordAdapter
srl_record.setEnableRefresh(true)
srl_record.setOnLoadMoreListener(this)
srl_record.setOnRefreshListener(this)
srl_record.autoRefresh()
}
override fun isApplyKitKatTranslucency() = true
override fun onDestroy() {
super.onDestroy()
coinRecordPresenter.detachView()
}
private fun loadData() {
coinRecordPresenter.getHistory(page, pageSize)
}
override fun getCoinRecordSuc(data: CoinList) {
srl_record.finishRefresh(true)
if (::coinRecordAdapter.isInitialized) {
if (page == 1) {
if (data.list.size < pageSize) {
srl_record.finishLoadMoreWithNoMoreData()
}
srl_record.finishRefresh(true)
coinRecordAdapter.setNewInstance(data.list)
} else {
if (data.list.size < pageSize) {
srl_record.finishLoadMoreWithNoMoreData()
} else {
srl_record.finishLoadMore()
}
coinRecordAdapter.addData(data.list)
}
}
}
override fun getCoinFail() {
srl_record.resetNoMoreData()
}
override fun onRefresh(refreshLayout: RefreshLayout) {
page = 1
loadData()
}
override fun onLoadMore(refreshLayout: RefreshLayout) {
page = ++page
loadData()
}
}
\ No newline at end of file
...@@ -6,6 +6,7 @@ import android.text.Editable ...@@ -6,6 +6,7 @@ import android.text.Editable
import android.text.TextUtils import android.text.TextUtils
import android.text.TextWatcher import android.text.TextWatcher
import android.view.View import android.view.View
import androidx.core.content.ContextCompat
import com.duben.library.utils.nodoubleclick.AntiShake import com.duben.library.utils.nodoubleclick.AntiShake
import com.duben.roseplaylet.R import com.duben.roseplaylet.R
import com.duben.roseplaylet.common.Constant import com.duben.roseplaylet.common.Constant
...@@ -83,6 +84,7 @@ class DrawCashActivity : BaseActivity(), View.OnClickListener, DrawCashView { ...@@ -83,6 +84,7 @@ class DrawCashActivity : BaseActivity(), View.OnClickListener, DrawCashView {
line.visibility = View.GONE line.visibility = View.GONE
tv_right.visibility = View.VISIBLE tv_right.visibility = View.VISIBLE
tv_right.text = "明细" tv_right.text = "明细"
tv_right.setTextColor(ContextCompat.getColor(this, R.color.color_E8C265))
} }
private fun initListener() { private fun initListener() {
...@@ -102,7 +104,7 @@ class DrawCashActivity : BaseActivity(), View.OnClickListener, DrawCashView { ...@@ -102,7 +104,7 @@ class DrawCashActivity : BaseActivity(), View.OnClickListener, DrawCashView {
when (v?.id) { when (v?.id) {
R.id.iv_left_icon -> finish() R.id.iv_left_icon -> finish()
R.id.tv_right -> { R.id.tv_right -> {
readyGo(CoinRecordActivity::class.java)
} }
R.id.btn_drawcash -> { R.id.btn_drawcash -> {
// 提现 // 提现
...@@ -166,7 +168,7 @@ class DrawCashActivity : BaseActivity(), View.OnClickListener, DrawCashView { ...@@ -166,7 +168,7 @@ class DrawCashActivity : BaseActivity(), View.OnClickListener, DrawCashView {
override fun getAlipayMsgSuc(data: AlipayMsgBean) { override fun getAlipayMsgSuc(data: AlipayMsgBean) {
alipayMsg = data alipayMsg = data
if (data.alipayAccount.isNotEmpty()) { if (!data.alipayAccount.isNullOrEmpty()) {
setDrawCashContent(Constant.ALI_DRAW_CASH, true) setDrawCashContent(Constant.ALI_DRAW_CASH, true)
} else { } else {
setDrawCashContent(Constant.ALI_DRAW_CASH, false) setDrawCashContent(Constant.ALI_DRAW_CASH, false)
......
package com.duben.roseplaylet.ui.activitys package com.duben.roseplaylet.ui.activitys
import android.graphics.Bitmap
import android.graphics.Color import android.graphics.Color
import android.text.TextUtils import android.text.TextUtils
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.widget.TextView
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import com.duben.roseplaylet.R import com.duben.roseplaylet.R
import com.duben.roseplaylet.ui.activitys.base.BaseActivity import com.duben.roseplaylet.ui.activitys.base.BaseActivity
...@@ -17,10 +19,17 @@ import com.duben.roseplaylet.ui.adapter.ShareInviteAdapter ...@@ -17,10 +19,17 @@ import com.duben.roseplaylet.ui.adapter.ShareInviteAdapter
import com.duben.roseplaylet.ui.adapter.ShareRankAdapter import com.duben.roseplaylet.ui.adapter.ShareRankAdapter
import com.duben.roseplaylet.ui.widgets.ShareDialog import com.duben.roseplaylet.ui.widgets.ShareDialog
import com.duben.roseplaylet.ui.widgets.ShareImageDialog import com.duben.roseplaylet.ui.widgets.ShareImageDialog
import com.duben.roseplaylet.utils.QRCodeUtil
import com.duben.roseplaylet.utils.SpanUtils import com.duben.roseplaylet.utils.SpanUtils
import com.duben.roseplaylet.utils.UIUtils
import com.duben.roseplaylet.utils.UcropUtils import com.duben.roseplaylet.utils.UcropUtils
import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.activity_share.* import kotlinx.android.synthetic.main.activity_share.*
import kotlinx.android.synthetic.main.header_layout.* import kotlinx.android.synthetic.main.header_layout.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
class ShareActivity : BaseActivity(), View.OnClickListener, InviteView { class ShareActivity : BaseActivity(), View.OnClickListener, InviteView {
...@@ -30,6 +39,8 @@ class ShareActivity : BaseActivity(), View.OnClickListener, InviteView { ...@@ -30,6 +39,8 @@ class ShareActivity : BaseActivity(), View.OnClickListener, InviteView {
private val invitePresenter by lazy { InvitePresenter() } private val invitePresenter by lazy { InvitePresenter() }
private val tabsData = mutableListOf<String>()
private lateinit var mShareRankAdapter: ShareRankAdapter private lateinit var mShareRankAdapter: ShareRankAdapter
private lateinit var mShareInviteAdapter: ShareInviteAdapter private lateinit var mShareInviteAdapter: ShareInviteAdapter
...@@ -49,12 +60,62 @@ class ShareActivity : BaseActivity(), View.OnClickListener, InviteView { ...@@ -49,12 +60,62 @@ class ShareActivity : BaseActivity(), View.OnClickListener, InviteView {
invitePresenter.getSharePageMsg() invitePresenter.getSharePageMsg()
invitePresenter.getShareOrders() invitePresenter.getShareOrders()
invitePresenter.getShareUrl() invitePresenter.getShareUrl()
invitePresenter.getRuserShareCode()
initView() initView()
initTab()
initListener() initListener()
} }
private fun initTab() {
tabsData.addAll(arrayOf("奖励规则", "分享须知"))
tablayout.addTab(tablayout.newTab().setCustomView(getTabView(tabsData[0], true)))
tablayout.addTab(tablayout.newTab().setCustomView(getTabView(tabsData[1], false)))
tablayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab?) {
tab?.let {
updateTab(it.customView, true)
if (it.position == 0) {
ll_reward.visibility = View.VISIBLE
ll_share.visibility = View.GONE
} else {
ll_reward.visibility = View.GONE
ll_share.visibility = View.VISIBLE
}
}
}
override fun onTabUnselected(tab: TabLayout.Tab?) {
tab?.let {
updateTab(it.customView, false)
}
}
override fun onTabReselected(tab: TabLayout.Tab?) {}
})
}
private fun updateTab(view: View?, isSelected: Boolean) {
view?.let {
val text = it.findViewById<TextView>(R.id.item_tv)
val bar = it.findViewById<View>(R.id.view_bar)
if (isSelected) {
text.textSize = 16f
bar.visibility = View.VISIBLE
} else {
text.textSize = 14f
bar.visibility = View.INVISIBLE
}
}
}
private fun getTabView(text: String, isSelected: Boolean): View {
val view = LayoutInflater.from(this).inflate(R.layout.item_share_tab, null)
view.findViewById<TextView>(R.id.item_tv).text = text
updateTab(view, isSelected)
return view
}
private fun initView() { private fun initView() {
tv_my_code.text = userManager.shareCode tv_my_code.text = userManager.shareCode
...@@ -137,17 +198,29 @@ class ShareActivity : BaseActivity(), View.OnClickListener, InviteView { ...@@ -137,17 +198,29 @@ class ShareActivity : BaseActivity(), View.OnClickListener, InviteView {
shareDialog.show() shareDialog.show()
} }
/** /**
* 图片分享 * 图片分享
*/ */
private fun shareImgDialog() { private fun shareImgDialog() {
val shareDialog = ShareImageDialog(this, myShareUrl, userManager.shareCode) MainScope().launch {
val qrCode: Bitmap?
var width: Int
var height: Int
withContext(Dispatchers.IO) {
qrCode = QRCodeUtil.createQRCode(myShareUrl, 50)
width = UIUtils.getScreenWidth(this@ShareActivity) - 50
height = (width * 1.778).toInt()
}
val shareDialog =
ShareImageDialog(
this@ShareActivity, qrCode, intArrayOf(width, height), userManager.shareCode
)
shareDialog.setOnShareOKListener(object : ShareImageDialog.OnShareOKListener { shareDialog.setOnShareOKListener(object : ShareImageDialog.OnShareOKListener {
override fun onShareOk() {} override fun onShareOk() {}
}) })
shareDialog.show() shareDialog.show()
} }
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
......
...@@ -218,12 +218,7 @@ class UserProfileActivity : BaseActivity(), View.OnClickListener, UserProfileVie ...@@ -218,12 +218,7 @@ class UserProfileActivity : BaseActivity(), View.OnClickListener, UserProfileVie
userProfileData?.let { userProfileData?.let {
if (UserManager.getInstance().userSex == 1 && !UserManager.getInstance().vipFlag) { if (UserManager.getInstance().userSex == 1 && !UserManager.getInstance().vipFlag) {
// 当前用户是否为男性,且不是VIP // 当前用户是否为男性,且不是VIP
setViewBlur(!it.canSee)
if (it.canSee) {
setViewBlur(true)
} else {
setViewBlur(false)
}
if (it.showTip) { if (it.showTip) {
// 只要不是VIP 就弹解锁资料 // 只要不是VIP 就弹解锁资料
......
package com.duben.roseplaylet.ui.adapter
import android.widget.TextView
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.duben.roseplaylet.R
import com.duben.roseplaylet.mvp.model.CoinData
class CoinRecordAdapter : BaseQuickAdapter<CoinData, BaseViewHolder>(R.layout.item_coin_record) {
override fun convert(holder: BaseViewHolder, item: CoinData) {
holder.getView<TextView>(R.id.title_tv).text = item.remark
holder.getView<TextView>(R.id.info_tv).text = item.date
holder.getView<TextView>(R.id.coin_tv).text = item.addStr
}
}
\ No newline at end of file
...@@ -4,10 +4,10 @@ import android.app.Dialog ...@@ -4,10 +4,10 @@ import android.app.Dialog
import android.content.Context import android.content.Context
import android.graphics.Bitmap import android.graphics.Bitmap
import android.view.* import android.view.*
import android.widget.FrameLayout
import android.widget.ImageView import android.widget.ImageView
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import androidx.viewpager.widget.ViewPager
import cn.sharesdk.framework.Platform import cn.sharesdk.framework.Platform
import cn.sharesdk.framework.Platform.ShareParams import cn.sharesdk.framework.Platform.ShareParams
import cn.sharesdk.framework.PlatformActionListener import cn.sharesdk.framework.PlatformActionListener
...@@ -17,16 +17,14 @@ import cn.sharesdk.wechat.moments.WechatMoments ...@@ -17,16 +17,14 @@ import cn.sharesdk.wechat.moments.WechatMoments
import com.duben.library.utils.ConstantUtil import com.duben.library.utils.ConstantUtil
import com.duben.roseplaylet.MintsApplication import com.duben.roseplaylet.MintsApplication
import com.duben.roseplaylet.R import com.duben.roseplaylet.R
import com.duben.roseplaylet.ui.adapter.SharePagerAdapter
import com.duben.roseplaylet.utils.BubbleUtils
import com.duben.roseplaylet.utils.QRCodeUtil
import com.duben.roseplaylet.utils.ToastUtil import com.duben.roseplaylet.utils.ToastUtil
import java.util.* import java.util.*
import kotlin.concurrent.schedule import kotlin.concurrent.schedule
class ShareImageDialog( class ShareImageDialog(
context: Context, context: Context,
shareUrl: String, qrCodeBitmap: Bitmap?,
whArr: IntArray,
shareCode: String, shareCode: String,
) : Dialog(context, R.style.dialog) { ) : Dialog(context, R.style.dialog) {
...@@ -37,10 +35,6 @@ class ShareImageDialog( ...@@ -37,10 +35,6 @@ class ShareImageDialog(
private var mOnShareOKListener: OnShareOKListener? = null private var mOnShareOKListener: OnShareOKListener? = null
private var mOnShareCompleteListener: OnShareCompleteListener? = null private var mOnShareCompleteListener: OnShareCompleteListener? = null
private val viewPager: ViewPager
private val pagerAdapter: SharePagerAdapter
private val mViews: ArrayList<View>
private val wechat by lazy { ShareSDK.getPlatform(Wechat.NAME) } private val wechat by lazy { ShareSDK.getPlatform(Wechat.NAME) }
private val wechatMoments by lazy { ShareSDK.getPlatform(WechatMoments.NAME) } private val wechatMoments by lazy { ShareSDK.getPlatform(WechatMoments.NAME) }
...@@ -67,37 +61,15 @@ class ShareImageDialog( ...@@ -67,37 +61,15 @@ class ShareImageDialog(
llDialogShareQq = findViewById<View>(R.id.llDialogShareQq) as LinearLayout llDialogShareQq = findViewById<View>(R.id.llDialogShareQq) as LinearLayout
tvDialogShareNext = findViewById<View>(R.id.tvDialogShareNext) as TextView tvDialogShareNext = findViewById<View>(R.id.tvDialogShareNext) as TextView
viewPager = findViewById(R.id.view_pager) val flPoster = findViewById<FrameLayout>(R.id.fl_poster)
viewPager.pageMargin = BubbleUtils.dp2px(30) val layoutParams = flPoster.layoutParams
layoutParams.width = whArr[0]
val QRCode = QRCodeUtil.createQRCode(shareUrl, 50) layoutParams.height = whArr[1]
val inflater = LayoutInflater.from(context) flPoster.layoutParams = layoutParams
val view1 = inflater.inflate(R.layout.item_share_view, null)
view1.findViewById<ImageView>(R.id.item_iv_bg).setImageResource(R.mipmap.bg_share_poster)
view1.findViewById<ImageView>(R.id.item_iv_qrcode).setImageBitmap(QRCode)
view1.findViewById<ImageView>(R.id.item_iv_avatar)
.setImageResource(R.mipmap.ic_launcher_main)
view1.findViewById<TextView>(R.id.tv_share_code).text = "邀请码:${shareCode}"
mViews = arrayListOf()
mViews.add(view1)
pagerAdapter = SharePagerAdapter(mViews)
viewPager.adapter = pagerAdapter
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
}
override fun onPageSelected(position: Int) {}
override fun onPageScrollStateChanged(state: Int) {}
}) findViewById<ImageView>(R.id.item_iv_qrcode).setImageBitmap(qrCodeBitmap)
findViewById<ImageView>(R.id.item_iv_avatar).setImageResource(R.mipmap.ic_launcher_main)
findViewById<TextView>(R.id.tv_share_code).text = "邀请码:${shareCode}"
llDialogShareWx.setOnClickListener { llDialogShareWx.setOnClickListener {
shareWechat() shareWechat()
...@@ -135,8 +107,7 @@ class ShareImageDialog( ...@@ -135,8 +107,7 @@ class ShareImageDialog(
} }
private fun shareWechat() { private fun shareWechat() {
val currentItem = viewPager.currentItem val child = findViewById<View>(R.id.item_container)
val child = mViews[currentItem].findViewById<View>(R.id.item_container)
child.isDrawingCacheEnabled = true child.isDrawingCacheEnabled = true
child.drawingCacheQuality = View.DRAWING_CACHE_QUALITY_HIGH child.drawingCacheQuality = View.DRAWING_CACHE_QUALITY_HIGH
child.buildDrawingCache() child.buildDrawingCache()
...@@ -171,8 +142,7 @@ class ShareImageDialog( ...@@ -171,8 +142,7 @@ class ShareImageDialog(
} }
private fun shareWechatFavoite() { private fun shareWechatFavoite() {
val currentItem = viewPager.currentItem val child = findViewById<View>(R.id.item_container)
val child = mViews[currentItem].findViewById<View>(R.id.item_container)
child.isDrawingCacheEnabled = true child.isDrawingCacheEnabled = true
child.drawingCacheQuality = View.DRAWING_CACHE_QUALITY_HIGH child.drawingCacheQuality = View.DRAWING_CACHE_QUALITY_HIGH
child.buildDrawingCache() child.buildDrawingCache()
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="345dp" android:height="44dp"> <item android:width="345dp" android:height="44dp">
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<solid android:color="@color/color_9F6A32" /> <solid android:color="@color/color_FFE9CF" />
<corners android:radius="50dp" /> <corners android:radius="50dp" />
</shape> </shape>
</item> </item>
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="345dp" android:height="44dp"> <item android:width="345dp" android:height="44dp">
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/color_9F6A32" /> <stroke android:width="1dp" android:color="@color/color_FFE9CF" />
<solid android:color="#ffffff" /> <solid android:color="@color/black" />
<corners android:radius="50dp" /> <corners android:radius="50dp" />
</shape> </shape>
</item> </item>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/white" android:drawable="@drawable/btn_index_submit" android:state_checked="true"></item> <item android:color="@color/black" android:drawable="@drawable/btn_index_submit" android:state_checked="true" />
<item android:color="@color/color_9F6A32" android:drawable="@drawable/btn_index_submit_unchecked" android:state_checked="false"></item> <item android:color="@color/color_FFE9CF" android:drawable="@drawable/btn_index_submit_unchecked" android:state_checked="false" />
</selector> </selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充的颜色 -->
<solid android:color="@color/color_F1D6BA" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="30dip" />
</shape>
\ No newline at end of file
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
android:startColor="#efbc6a" /> android:startColor="#efbc6a" />
<!-- 设置按钮的四个角为弧形 --> <!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 --> <!-- android:radius 弧形的半径 -->
<corners android:radius="30dp" <corners android:radius="30dp" />
/>
</shape> </shape>
\ No newline at end of file
...@@ -90,7 +90,8 @@ ...@@ -90,7 +90,8 @@
android:layout_marginTop="40dp" android:layout_marginTop="40dp"
android:background="@drawable/shape_bg_hall_btn1" android:background="@drawable/shape_bg_hall_btn1"
android:gravity="center" android:gravity="center"
android:hint="请输入邀请码" android:hint="请输入邀请码 (选填)"
android:paddingEnd="10dp"
android:textColor="@color/white" android:textColor="@color/white"
android:textColorHint="@color/color_959595" android:textColorHint="@color/color_959595"
android:textSize="14sp" android:textSize="14sp"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:background="@color/color_232122"
android:orientation="vertical">
<include layout="@layout/header_layout" />
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/srl_record"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:srlAccentColor="@color/black">
<com.scwang.smartrefresh.header.MaterialHeader
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_coin_record"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.scwang.smartrefresh.layout.footer.ClassicsFooter
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srlAccentColor="@color/white"
app:srlPrimaryColor="@color/color_232122" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
...@@ -96,11 +96,11 @@ ...@@ -96,11 +96,11 @@
<EditText <EditText
android:id="@+id/etFeedbackContent" android:id="@+id/etFeedbackContent"
android:layout_width="match_parent" android:layout_width="match_parent"
android:padding="10dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/shape_et_signature" android:background="@drawable/shape_et_signature"
android:gravity="top" android:gravity="top"
android:hint="请留下您的批评、表扬或者建议,我们会虚心听取, 认真改正。(请保持在5-150字内)" android:hint="请留下您的批评、表扬或者建议,我们会虚心听取, 认真改正。(请保持在5-150字内)"
android:padding="10dp"
android:textColor="@color/white" android:textColor="@color/white"
android:textColorHint="@color/color_6F6F71" android:textColorHint="@color/color_6F6F71"
android:textSize="13sp" /> android:textSize="13sp" />
...@@ -111,6 +111,8 @@ ...@@ -111,6 +111,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_marginEnd="5dp"
android:layout_marginBottom="5dp"
android:text="0/150" android:text="0/150"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="12sp" /> android:textSize="12sp" />
...@@ -124,7 +126,7 @@ ...@@ -124,7 +126,7 @@
android:layout_marginLeft="40dp" android:layout_marginLeft="40dp"
android:layout_marginTop="30dp" android:layout_marginTop="30dp"
android:layout_marginRight="40dp" android:layout_marginRight="40dp"
android:background="@drawable/shape_vip_btn" android:background="@drawable/shape_draw_cash_orange"
android:gravity="center" android:gravity="center"
android:text="提交" android:text="提交"
android:textColor="@color/black" android:textColor="@color/black"
......
...@@ -112,7 +112,6 @@ ...@@ -112,7 +112,6 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:src="@mipmap/bg_vip_3" /> android:src="@mipmap/bg_vip_3" />
</LinearLayout> </LinearLayout>
...@@ -155,7 +154,8 @@ ...@@ -155,7 +154,8 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingLeft="20dp"> android:paddingLeft="20dp"
android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -168,7 +168,6 @@ ...@@ -168,7 +168,6 @@
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold" />
<ImageView <ImageView
android:id="@+id/iv_vip_wx" android:id="@+id/iv_vip_wx"
android:layout_width="30dp" android:layout_width="30dp"
...@@ -184,7 +183,8 @@ ...@@ -184,7 +183,8 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingRight="20dp"> android:paddingRight="20dp"
android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -215,7 +215,8 @@ ...@@ -215,7 +215,8 @@
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:text="试用到期后将按终身xx元自动续费,可随时关闭" android:text="试用到期后将按终身xx元自动续费,可随时关闭"
android:textColor="#97ffffff" android:textColor="#97ffffff"
android:textSize="10sp" /> android:textSize="10sp"
android:visibility="gone" />
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -271,7 +272,8 @@ ...@@ -271,7 +272,8 @@
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:text="全额返规则" android:text="全额返规则"
android:textColor="#97ffffff" android:textColor="#97ffffff"
android:textSize="12sp" /> android:textSize="12sp"
android:visibility="gone" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<ImageView <ImageView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="420dp" android:layout_height="420dp"
android:src="@mipmap/bg_share_poster" /> android:src="@mipmap/bg_share_page" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -256,13 +256,31 @@ ...@@ -256,13 +256,31 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tablayout"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="30dp"
android:layout_marginRight="10dp"
app:tabBackground="@null"
app:tabIndicatorHeight="0dp"
app:tabMaxWidth="200dp"
app:tabMinWidth="20dp"
app:tabMode="scrollable"
app:tabPaddingEnd="6dp"
app:tabPaddingStart="6dp"
app:tabRippleColor="@null" />
<LinearLayout <LinearLayout
android:id="@+id/ll_reward"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="20dp" android:layout_marginStart="20dp"
android:layout_marginTop="30dp" android:layout_marginTop="10dp"
android:layout_marginEnd="20dp" android:layout_marginEnd="20dp"
android:orientation="vertical"> android:orientation="vertical"
android:visibility="visible">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -304,6 +322,72 @@ ...@@ -304,6 +322,72 @@
</LinearLayout> </LinearLayout>
<LinearLayout
android:id="@+id/ll_share"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="20dp"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="一、邀请好友为什么没有奖励"
android:textColor="@color/color_F1D6BA" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="1.被邀请的好友必须填写邀请人的邀请码,邀请成功后被邀请者完成指定条件,邀请人才可以获得相应奖励。"
android:textColor="@color/color_F1D6BA" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="2.奖励可能正在审核中,会存在一定延迟。"
android:textColor="@color/color_F1D6BA" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="二、为什么没有填写邀请码的地方"
android:textColor="@color/color_F1D6BA" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="1.被邀请人必须在完成注册后的3天内完成邀请码填写,过期将无法填写。"
android:textColor="@color/color_F1D6BA" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="2.同一账号只能填写一次邀请码,之前填写过的用户将不能再次填写。"
android:textColor="@color/color_F1D6BA" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="三、其他问题"
android:textColor="@color/color_F1D6BA" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="如果还有疑问,请前往【我的-客服】联系客服处理。"
android:textColor="@color/color_F1D6BA" />
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="30dp" android:background="@color/half_transparent">
android:background="@color/full_transparent">
<androidx.viewpager.widget.ViewPager <FrameLayout
android:id="@+id/view_pager" android:id="@+id/fl_poster"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/linearLayout"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp">
<androidx.cardview.widget.CardView
android:id="@+id/item_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="180dp" app:cardCornerRadius="10dp">
android:clipToPadding="false"
app:layout_constraintBottom_toTopOf="@+id/linearLayout" <ImageView
app:layout_constraintEnd_toEndOf="parent" android:id="@+id/item_iv_bg"
app:layout_constraintStart_toStartOf="parent" android:layout_width="match_parent"
app:layout_constraintTop_toTopOf="parent" /> android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@mipmap/bg_share_poster" />
<RelativeLayout
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="5dp">
<TextView
android:id="@+id/tv_share_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:textColor="@color/color_F6DA8F"
android:textSize="18sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/item_iv_qrcode"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_below="@id/tv_share_code"
android:padding="1dp" />
<ImageView
android:id="@+id/item_iv_avatar"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_below="@id/tv_share_code"
android:layout_alignParentEnd="true"
android:src="@mipmap/ic_launcher_main" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/item_iv_qrcode"
android:layout_alignStart="@id/item_iv_qrcode"
android:layout_alignEnd="@id/item_iv_qrcode"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="扫码下载"
android:textColor="@color/white"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/item_iv_avatar"
android:layout_alignStart="@id/item_iv_avatar"
android:layout_alignEnd="@id/item_iv_avatar"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="12sp" />
</RelativeLayout>
</androidx.cardview.widget.CardView>
</FrameLayout>
<LinearLayout <LinearLayout
android:id="@+id/linearLayout" android:id="@+id/linearLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="160dp" android:layout_height="160dp"
android:layout_alignParentBottom="true"
android:background="@drawable/shape_share" android:background="@drawable/shape_share"
android:orientation="vertical" android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
...@@ -83,12 +153,12 @@ ...@@ -83,12 +153,12 @@
android:id="@+id/tvDialogShareNext" android:id="@+id/tvDialogShareNext"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="50dp"
android:background="@color/color_2D2D2D"
android:gravity="center" android:gravity="center"
android:text="取消" android:text="取消"
android:background="@color/color_2D2D2D"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="18sp" /> android:textSize="18sp" />
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </RelativeLayout>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/shape_coin_gray"
android:padding="10dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_marginStart="10dp"
android:layout_weight="1"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@id/image_iv"
app:layout_constraintStart_toEndOf="@id/image_iv"
app:layout_constraintTop_toTopOf="@id/image_iv">
<TextView
android:id="@+id/title_tv"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:maxLines="2"
android:text="重回80年代"
android:textColor="@color/white" />
<TextView
android:id="@+id/info_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="重回80年代"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:id="@+id/coin_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="-200金币"
android:textColor="@color/color_E8C265"
android:textSize="18sp" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/item_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="2dp"
android:paddingEnd="5dp"
android:text="附近"
android:textColor="@color/color_F1D6BA"
android:textSize="14sp"
android:textStyle="bold" />
<View
android:id="@+id/view_bar"
android:layout_width="25dp"
android:layout_height="2dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="3dp"
android:background="@drawable/shape_share_tab" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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">
<com.duben.roseplaylet.ui.widgets.CornerView
android:id="@+id/item_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/item_iv_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY" />
<RelativeLayout
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="20dp"
android:padding="6dp">
<TextView
android:id="@+id/tv_share_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:textColor="@color/color_F6DA8F"
android:textSize="18sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/item_iv_qrcode"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_below="@id/tv_share_code"
android:padding="1dp" />
<ImageView
android:id="@+id/item_iv_avatar"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_below="@id/tv_share_code"
android:layout_alignParentEnd="true"
android:src="@mipmap/ic_launcher_main" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/item_iv_qrcode"
android:layout_alignStart="@id/item_iv_qrcode"
android:layout_alignEnd="@id/item_iv_qrcode"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="扫码下载"
android:textColor="@color/white"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/item_iv_avatar"
android:layout_alignStart="@id/item_iv_avatar"
android:layout_alignEnd="@id/item_iv_avatar"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="12sp" />
</RelativeLayout>
</com.duben.roseplaylet.ui.widgets.CornerView>
<CheckBox
android:id="@+id/item_cb_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:buttonTint="@color/color_FF9837"
android:clickable="false"
android:visibility="gone" />
</FrameLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment