1:添加签到功能,在首页展示,跟在青少年模式下,
2:在任务页面展示签到功能
This commit is contained in:
115
BaseModule/src/main/java/com/xscm/moduleutil/bean/SignInData.kt
Normal file
115
BaseModule/src/main/java/com/xscm/moduleutil/bean/SignInData.kt
Normal file
@@ -0,0 +1,115 @@
|
||||
package com.xscm.moduleutil.bean
|
||||
|
||||
import com.chad.library.adapter.base.entity.MultiItemEntity
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2025/12/12 10:35
|
||||
* 用途:签到实体类
|
||||
*/
|
||||
class SignInData : MultiItemEntity{
|
||||
val TYPE_NORMAL: Int = 0 // 普通类型,使用day_sgin布局
|
||||
val TYPE_DOUBLE: Int = 1 // 双倍宽度类型,使用day_sgin2布局
|
||||
var viewType: Int = TYPE_NORMAL // 默认为普通类型
|
||||
|
||||
var day: Int = 0 //第几天
|
||||
var sign_in_date: String = "" //日期
|
||||
var sign_in_status: Int = 0 // 签到状态:1已签到 0未签到
|
||||
var sign_in_status_str: String = "" //已签到
|
||||
var is_today: Int = 0 //是否是当天 0否 1是
|
||||
var gift_name: String = "" //礼物名称
|
||||
var num: String = "" //数量
|
||||
var gift_price: Int = 0 //价格
|
||||
var type: Int = 0 //类型: 1金币 2礼物 3装扮 4钻石
|
||||
var base_image: String = "" //礼物图片
|
||||
override fun getItemType(): Int {
|
||||
return viewType
|
||||
}
|
||||
|
||||
/* "gift_bag": [
|
||||
{
|
||||
"day": 1, //第几天
|
||||
"sign_in_date": "2025-12-09", //日期
|
||||
"sign_in_status": 1, //签到状态:1已签到 0未签到
|
||||
"sign_in_status_str": "已签到",
|
||||
"is_today": 0, //是否是当天 0否 1是
|
||||
"gift_name": "金币", //礼物名称
|
||||
"num": 1, //数量
|
||||
"gift_price": 1, //价格
|
||||
"type": 1, //类型: 1金币 2礼物 3装扮 4钻石
|
||||
"base_image": "https://test.vespa.qxyushen.top/static/image/icon/gold.png" //礼物图片
|
||||
},
|
||||
{
|
||||
"day": 2,
|
||||
"sign_in_date": "2025-12-10",
|
||||
"sign_in_status": 1,
|
||||
"sign_in_status_str": "已签到",
|
||||
"is_today": 0,
|
||||
"gift_name": "打工狗",
|
||||
"num": "1 个",
|
||||
"gift_price": "9",
|
||||
"type": 2,
|
||||
"base_image": "https://cos.xscmmidi.site/admin/3143tianxuanbanzhuangou_17615346376493.png"
|
||||
},
|
||||
{
|
||||
"day": 3,
|
||||
"sign_in_date": "2025-12-11",
|
||||
"sign_in_status": 1,
|
||||
"sign_in_status_str": "已签到",
|
||||
"is_today": 0,
|
||||
"gift_name": "神皇",
|
||||
"num": "3 天",
|
||||
"gift_price": 30,
|
||||
"type": 3,
|
||||
"base_image": "https://midi01.oss-cn-beijing.aliyuncs.com/5544shenhuang_17579016149523.png"
|
||||
},
|
||||
{
|
||||
"day": 4,
|
||||
"sign_in_date": "2025-12-12",
|
||||
"sign_in_status": 1,
|
||||
"sign_in_status_str": "已签到",
|
||||
"is_today": 1,
|
||||
"gift_name": "心动喷发",
|
||||
"num": "2 个",
|
||||
"gift_price": "100",
|
||||
"type": 2,
|
||||
"base_image": "https://cos.xscmmidi.site/admin/3300xindongpenfa_17615347008740.png"
|
||||
},
|
||||
{
|
||||
"day": 5,
|
||||
"sign_in_date": "2025-12-13",
|
||||
"sign_in_status": 0,
|
||||
"sign_in_status_str": "未签到",
|
||||
"is_today": 0,
|
||||
"gift_name": "钻石",
|
||||
"num": 20,
|
||||
"gift_price": 1,
|
||||
"type": 4,
|
||||
"base_image": "https://test.vespa.qxyushen.top/static/image/icon/gold.png"
|
||||
},
|
||||
{
|
||||
"day": 6,
|
||||
"sign_in_date": "2025-12-14",
|
||||
"sign_in_status": 0,
|
||||
"sign_in_status_str": "未签到",
|
||||
"is_today": 0,
|
||||
"gift_name": "王者之戒",
|
||||
"num": "1 个",
|
||||
"gift_price": "19",
|
||||
"type": 2,
|
||||
"base_image": "https://cos.xscmmidi.site/admin/5390wangzhezhijie_17615353361010.png"
|
||||
},
|
||||
{
|
||||
"day": 7,
|
||||
"sign_in_date": "2025-12-15",
|
||||
"sign_in_status": 0,
|
||||
"sign_in_status_str": "未签到",
|
||||
"is_today": 0,
|
||||
"gift_name": "财源滚滚",
|
||||
"num": "30 天",
|
||||
"gift_price": 288,
|
||||
"type": 3,
|
||||
"base_image": "https://midi01.oss-cn-beijing.aliyuncs.com/2160caiyuangunguntouxiangkuang_17579008394073.png"
|
||||
}
|
||||
]*/
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.xscm.moduleutil.bean
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2025/12/12 14:54
|
||||
* 用途:签到状态
|
||||
*/
|
||||
class TasksSignStatus {
|
||||
var status : Int=0
|
||||
var status_str: String=""
|
||||
}
|
||||
14
BaseModule/src/main/res/drawable/bg_r16_deff85_cfffdc.xml
Normal file
14
BaseModule/src/main/res/drawable/bg_r16_deff85_cfffdc.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:centerColor="#CFFFDC"
|
||||
android:endColor="#CFFFDC"
|
||||
android:startColor="#DEFF85"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners
|
||||
android:radius="@dimen/dp_16"
|
||||
/>
|
||||
</shape>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:centerColor="#90FF86"
|
||||
android:endColor="#E7FE67"
|
||||
android:startColor="#5CFBBD"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners
|
||||
android:radius="@dimen/dp_99"
|
||||
/>
|
||||
</shape>
|
||||
16
BaseModule/src/main/res/drawable/selector_sign_bg.xml
Normal file
16
BaseModule/src/main/res/drawable/selector_sign_bg.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:centerColor="#CFFFDC"
|
||||
android:endColor="#CFFFDC"
|
||||
android:startColor="#DEFF85"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners
|
||||
android:bottomLeftRadius="4dp"
|
||||
android:bottomRightRadius="4dp"
|
||||
android:topLeftRadius="4dp"
|
||||
android:topRightRadius="4dp" />
|
||||
</shape>
|
||||
@@ -0,0 +1,241 @@
|
||||
package com.xscm.modulemain.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.blankj.utilcode.util.ScreenUtils
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.databinding.DialogSignBinding
|
||||
import com.xscm.moduleutil.bean.SignInData
|
||||
import com.xscm.moduleutil.http.BaseObserver
|
||||
import com.xscm.moduleutil.http.RetrofitClient
|
||||
import com.xscm.moduleutil.utils.ImageLoader
|
||||
import com.xscm.moduleutil.widget.dialog.BaseDialog
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2025/12/9 18:21
|
||||
* 用途:签到
|
||||
*/
|
||||
class SignInDialog(context: Context) : BaseDialog<DialogSignBinding>(context) {
|
||||
var signInDataLists: List<SignInData>? = ArrayList<SignInData>()
|
||||
private var onCloseCallback: (() -> Unit)? = null
|
||||
|
||||
fun setOnCloseListener(callback: () -> Unit) = apply {
|
||||
onCloseCallback = callback
|
||||
}
|
||||
|
||||
|
||||
init {
|
||||
// 设置对话框从底部弹出
|
||||
window?.setGravity(Gravity.CENTER)
|
||||
// 设置对话框的宽度为屏幕宽度
|
||||
window?.setLayout(
|
||||
(ScreenUtils.getScreenWidth() * 315f / 375).toInt(),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
// 添加动画效果
|
||||
window?.setWindowAnimations(com.xscm.moduleutil.R.style.DialogAnimationt)
|
||||
setCancelable(false)
|
||||
setCanceledOnTouchOutside(false)
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.dialog_sign
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
mBinding.ivClose.setOnClickListener {
|
||||
onCloseCallback?.invoke()
|
||||
dismiss()
|
||||
}
|
||||
mBinding.btnSign.setOnClickListener {
|
||||
|
||||
RetrofitClient.getInstance().dailyTasksSign(object : BaseObserver<String>() {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
}
|
||||
|
||||
override fun onNext(t: String) {
|
||||
var signInSuccessDialog=SignInSuccessDialog(context)
|
||||
signInSuccessDialog.viewData(signInData)
|
||||
signInSuccessDialog.setOnCloseListener {
|
||||
onCloseCallback?.invoke()
|
||||
}
|
||||
signInSuccessDialog.show()
|
||||
dismiss()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
override fun initData() {
|
||||
RetrofitClient.getInstance().signIn(object : BaseObserver<List<SignInData>>() {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
}
|
||||
|
||||
override fun onNext(t: List<SignInData>) {
|
||||
signInDataLists = t
|
||||
for (i in signInDataLists!!) {
|
||||
setUpView(i)
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
var signInData = SignInData()
|
||||
|
||||
fun setUpView(signInData: SignInData) {
|
||||
if (signInData.is_today == 1) {
|
||||
this.signInData = signInData
|
||||
if (signInData.sign_in_status == 1) {
|
||||
mBinding.btnSign.text = "已签到"
|
||||
mBinding.btnSign.isEnabled = false
|
||||
mBinding.btnSign.setBackgroundResource(com.xscm.moduleutil.R.drawable.bg_r53_f3f3f3)
|
||||
}
|
||||
}
|
||||
if (signInData.day == 1) {
|
||||
mBinding.day1.tvDay.text = signInData.day.toString()
|
||||
|
||||
mBinding.day1.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||
if (signInData.sign_in_status == 1) {
|
||||
mBinding.day1.ivCollected.visibility = View.VISIBLE
|
||||
mBinding.day1.root.setBackgroundResource(R.drawable.select_item_click)
|
||||
ImageLoader.loadImage(
|
||||
context,
|
||||
mBinding.day1.ivSign,
|
||||
signInData.base_image,
|
||||
0.4f
|
||||
)
|
||||
} else {
|
||||
mBinding.day1.ivCollected.visibility = View.GONE
|
||||
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||
signInData.base_image,
|
||||
mBinding.day1.ivSign
|
||||
)
|
||||
}
|
||||
} else if (signInData.day == 2) {
|
||||
mBinding.day2.tvDay.text = signInData.day.toString()
|
||||
|
||||
mBinding.day2.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||
if (signInData.sign_in_status == 1) {
|
||||
mBinding.day2.ivCollected.visibility = View.VISIBLE
|
||||
mBinding.day2.root.setBackgroundResource(R.drawable.select_item_click)
|
||||
ImageLoader.loadImage(
|
||||
context,
|
||||
mBinding.day2.ivSign,
|
||||
signInData.base_image,
|
||||
0.4f
|
||||
)
|
||||
} else {
|
||||
mBinding.day2.ivCollected.visibility = View.GONE
|
||||
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||
signInData.base_image,
|
||||
mBinding.day2.ivSign
|
||||
)
|
||||
}
|
||||
} else if (signInData.day == 3) {
|
||||
mBinding.day3.tvDay.text = signInData.day.toString()
|
||||
|
||||
mBinding.day3.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||
if (signInData.sign_in_status == 1) {
|
||||
mBinding.day3.ivCollected.visibility = View.VISIBLE
|
||||
mBinding.day3.root.setBackgroundResource(R.drawable.select_item_click)
|
||||
ImageLoader.loadImage(
|
||||
context,
|
||||
mBinding.day3.ivSign,
|
||||
signInData.base_image,
|
||||
0.4f
|
||||
)
|
||||
} else {
|
||||
mBinding.day3.ivCollected.visibility = View.GONE
|
||||
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||
signInData.base_image,
|
||||
mBinding.day3.ivSign
|
||||
)
|
||||
}
|
||||
} else if (signInData.day == 4) {
|
||||
mBinding.day4.tvDay.text = signInData.day.toString()
|
||||
|
||||
mBinding.day4.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||
if (signInData.sign_in_status == 1) {
|
||||
mBinding.day4.ivCollected.visibility = View.VISIBLE
|
||||
mBinding.day4.root.setBackgroundResource(R.drawable.select_item_click)
|
||||
ImageLoader.loadImage(
|
||||
context,
|
||||
mBinding.day4.ivSign,
|
||||
signInData.base_image,
|
||||
0.4f
|
||||
)
|
||||
} else {
|
||||
mBinding.day4.ivCollected.visibility = View.GONE
|
||||
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||
signInData.base_image,
|
||||
mBinding.day4.ivSign
|
||||
)
|
||||
}
|
||||
} else if (signInData.day == 5) {
|
||||
mBinding.day5.tvDay.text = signInData.day.toString()
|
||||
|
||||
mBinding.day5.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||
if (signInData.sign_in_status == 1) {
|
||||
mBinding.day5.ivCollected.visibility = View.VISIBLE
|
||||
mBinding.day5.root.setBackgroundResource(R.drawable.select_item_click)
|
||||
ImageLoader.loadImage(
|
||||
context,
|
||||
mBinding.day5.ivSign,
|
||||
signInData.base_image,
|
||||
0.4f
|
||||
)
|
||||
} else {
|
||||
mBinding.day5.ivCollected.visibility = View.GONE
|
||||
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||
signInData.base_image,
|
||||
mBinding.day5.ivSign
|
||||
)
|
||||
}
|
||||
} else if (signInData.day == 6) {
|
||||
mBinding.day6.tvDay.text = signInData.day.toString()
|
||||
|
||||
mBinding.day6.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||
if (signInData.sign_in_status == 1) {
|
||||
mBinding.day6.ivCollected.visibility = View.VISIBLE
|
||||
mBinding.day6.root.setBackgroundResource(R.drawable.select_item_click)
|
||||
ImageLoader.loadImage(
|
||||
context,
|
||||
mBinding.day6.ivSign,
|
||||
signInData.base_image,
|
||||
0.4f
|
||||
)
|
||||
} else {
|
||||
mBinding.day6.ivCollected.visibility = View.GONE
|
||||
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||
signInData.base_image,
|
||||
mBinding.day6.ivSign
|
||||
)
|
||||
}
|
||||
} else if (signInData.day == 7) {
|
||||
mBinding.day7.tvDay.text = signInData.day.toString()
|
||||
|
||||
mBinding.day7.tvSiginPrice.text = signInData.gift_name + "*" + signInData.num
|
||||
if (signInData.sign_in_status == 1) {
|
||||
mBinding.day7.ivCollected.visibility = View.VISIBLE
|
||||
mBinding.day7.root.setBackgroundResource(R.drawable.select_item_click)
|
||||
ImageLoader.loadImage(
|
||||
context,
|
||||
mBinding.day7.ivSign,
|
||||
signInData.base_image,
|
||||
0.4f
|
||||
)
|
||||
} else {
|
||||
mBinding.day7.ivCollected.visibility = View.GONE
|
||||
com.xscm.moduleutil.utils.ImageUtils.loadHead(
|
||||
signInData.base_image,
|
||||
mBinding.day7.ivSign
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.xscm.modulemain.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.view.Gravity
|
||||
import android.view.ViewGroup
|
||||
import com.blankj.utilcode.util.ScreenUtils
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.databinding.DialogSignSuccesBinding
|
||||
import com.xscm.moduleutil.bean.SignInData
|
||||
import com.xscm.moduleutil.utils.ImageUtils
|
||||
import com.xscm.moduleutil.widget.dialog.BaseDialog
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2025/12/12 9:37
|
||||
* 用途:签到成功后展示页面
|
||||
*/
|
||||
class SignInSuccessDialog(context: Context) : BaseDialog<DialogSignSuccesBinding>(context) {
|
||||
private var onCloseCallback: (() -> Unit)? = null
|
||||
|
||||
fun setOnCloseListener(callback: () -> Unit) = apply {
|
||||
onCloseCallback = callback
|
||||
}
|
||||
init {
|
||||
// 设置对话框从底部弹出
|
||||
window?.setGravity(Gravity.CENTER)
|
||||
// 设置对话框的宽度为屏幕宽度
|
||||
window?.setLayout(
|
||||
(ScreenUtils.getScreenWidth() * 315f / 375).toInt(),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
// 添加动画效果
|
||||
window?.setWindowAnimations(com.xscm.moduleutil.R.style.DialogAnimationt)
|
||||
setCancelable(false)
|
||||
setCanceledOnTouchOutside(false)
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.dialog_sign_succes
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
mBinding.btnSign.setOnClickListener {
|
||||
onCloseCallback?.invoke()
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
override fun initData() {
|
||||
}
|
||||
|
||||
fun viewData(signInData: SignInData) {
|
||||
ImageUtils.loadHead(signInData.base_image, mBinding.imV)
|
||||
mBinding.tvSignPrice.text ="签到成功 "+ signInData.gift_name+""+signInData.num
|
||||
}
|
||||
|
||||
}
|
||||
80
MainModule/src/main/res/layout/day_sgin.xml
Normal file
80
MainModule/src/main/res/layout/day_sgin.xml
Normal file
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/dp_5"
|
||||
android:background="@drawable/selector_sign_bg"
|
||||
>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_day"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:fontFamily="@font/youshebiaotihei"
|
||||
android:gravity="center"
|
||||
android:textColor="#FFC273"
|
||||
android:textSize="@dimen/sp_32"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="7" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="DAY"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_day"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_day"
|
||||
android:textColor="#FFC273"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:gravity="center"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_33"
|
||||
android:layout_height="@dimen/dp_33"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_19"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:src="@mipmap/ic_launcher"
|
||||
android:scaleType="fitCenter"
|
||||
android:id="@+id/iv_sign" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_33"
|
||||
android:layout_height="@dimen/dp_33"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_19"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:src="@mipmap/ic_collected"
|
||||
android:scaleType="fitCenter"
|
||||
android:id="@+id/iv_collected"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sigin_price"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="3dp"
|
||||
android:gravity="center"
|
||||
tools:text="签到礼物名称"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_sign"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_9" />
|
||||
|
||||
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
75
MainModule/src/main/res/layout/day_sgin2.xml
Normal file
75
MainModule/src/main/res/layout/day_sgin2.xml
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:paddingBottom="@dimen/dp_5"
|
||||
android:background="@drawable/selector_sign_bg">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_day"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:fontFamily="@font/youshebiaotihei"
|
||||
android:gravity="center"
|
||||
android:textColor="#FFC273"
|
||||
android:textSize="@dimen/sp_32"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="7" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="DAY"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_day"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_day"
|
||||
android:textColor="#FFC273"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:gravity="center"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_33"
|
||||
android:layout_height="@dimen/dp_33"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_19"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:src="@mipmap/ic_launcher"
|
||||
android:scaleType="fitCenter"
|
||||
android:id="@+id/iv_sign" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_33"
|
||||
android:layout_height="@dimen/dp_33"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_19"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:src="@mipmap/ic_collected"
|
||||
android:scaleType="fitCenter"
|
||||
android:id="@+id/iv_collected"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sigin_price"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="3dp"
|
||||
android:gravity="center"
|
||||
tools:text="签到礼物名称"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_sign"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_9" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
145
MainModule/src/main/res/layout/dialog_sign.xml
Normal file
145
MainModule/src/main/res/layout/dialog_sign.xml
Normal file
@@ -0,0 +1,145 @@
|
||||
<?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:tool="http://schemas.android.com/tools">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/im_v"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/shape_dialog_bg"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<!-- <androidx.recyclerview.widget.RecyclerView-->
|
||||
<!-- android:id="@+id/rv_sign"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="0dp"-->
|
||||
<!-- android:layout_marginHorizontal="@dimen/dp_22"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="@id/im_v"-->
|
||||
<!-- app:layout_constraintBottom_toBottomOf="@id/im_v"-->
|
||||
<!-- tool:listitem="@layout/day_sgin"-->
|
||||
<!-- tool:itemCount="4"-->
|
||||
<!-- />-->
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_22"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintEnd_toEndOf="@id/im_v"
|
||||
app:layout_constraintStart_toStartOf="@id/im_v"
|
||||
app:layout_constraintTop_toTopOf="@id/im_v"
|
||||
app:layout_constraintBottom_toBottomOf="@id/im_v">
|
||||
|
||||
<include
|
||||
android:id="@+id/day1"
|
||||
layout="@layout/day_sgin"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<include
|
||||
android:id="@+id/day2"
|
||||
layout="@layout/day_sgin"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<include
|
||||
android:id="@+id/day3"
|
||||
layout="@layout/day_sgin"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<include
|
||||
android:id="@+id/day4"
|
||||
layout="@layout/day_sgin"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_88"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginHorizontal="@dimen/dp_22"
|
||||
android:layout_marginTop="12.5dp"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintTop_toBottomOf="@+id/ll1">
|
||||
|
||||
<include
|
||||
android:id="@+id/day5"
|
||||
layout="@layout/day_sgin"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<include
|
||||
android:id="@+id/day6"
|
||||
layout="@layout/day_sgin"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<include
|
||||
android:id="@+id/day7"
|
||||
layout="@layout/day_sgin2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="2" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_sign"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginHorizontal="@dimen/dp_37"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:background="@drawable/bg_r99_e7fe67_90ff86_5cfbbd"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="@dimen/dp_15"
|
||||
android:text="立即签到"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/im_v"
|
||||
app:layout_constraintEnd_toEndOf="@id/im_v"
|
||||
app:layout_constraintStart_toStartOf="@id/im_v" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_close"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:src="@mipmap/index_close_youth"
|
||||
android:scaleType="fitCenter"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/im_v" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</layout>
|
||||
|
||||
72
MainModule/src/main/res/layout/dialog_sign_succes.xml
Normal file
72
MainModule/src/main/res/layout/dialog_sign_succes.xml
Normal file
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<layout
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
|
||||
>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll"
|
||||
android:layout_width="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_r16_deff85_cfffdc"
|
||||
android:layout_marginHorizontal="10dp"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sign_price"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="签到成功 金币+10"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:textSize="15sp"
|
||||
android:layout_marginTop="190dp"
|
||||
android:textColor="@color/colorPrimary"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_sign"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginHorizontal="@dimen/dp_37"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:background="@drawable/bg_r99_e7fe67_90ff86_5cfbbd"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="@dimen/dp_15"
|
||||
android:text="开心收下"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/im_v"
|
||||
app:layout_constraintEnd_toEndOf="@id/im_v"
|
||||
app:layout_constraintStart_toStartOf="@id/im_v" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<ImageView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintHeight_percent="0.4"
|
||||
app:layout_constraintWidth_percent="0.3"
|
||||
android:layout_marginBottom="@dimen/dp_90"
|
||||
android:id="@+id/im_v"
|
||||
android:src="@mipmap/ic_launcher"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
|
||||
BIN
MainModule/src/main/res/mipmap-hdpi/ic_collected.png
Normal file
BIN
MainModule/src/main/res/mipmap-hdpi/ic_collected.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
BIN
MainModule/src/main/res/mipmap-hdpi/shape_dialog_bg.png
Normal file
BIN
MainModule/src/main/res/mipmap-hdpi/shape_dialog_bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 102 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/ic_collected.png
Normal file
BIN
MainModule/src/main/res/mipmap-xhdpi/ic_collected.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/shape_dialog_bg.png
Normal file
BIN
MainModule/src/main/res/mipmap-xhdpi/shape_dialog_bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 165 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/ic_collected.png
Normal file
BIN
MainModule/src/main/res/mipmap-xxhdpi/ic_collected.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.0 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/shape_dialog_bg.png
Normal file
BIN
MainModule/src/main/res/mipmap-xxhdpi/shape_dialog_bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 368 KiB |
Reference in New Issue
Block a user