Commit 5911b696 authored by jyx's avatar jyx

代码优化

parent b12a66e6
...@@ -18,7 +18,6 @@ object Constant { ...@@ -18,7 +18,6 @@ object Constant {
const val MINTS_APP_NAME = "每日小短剧" const val MINTS_APP_NAME = "每日小短剧"
const val MINTS_PKG_NAME = "com.duben.dayplaylet" const val MINTS_PKG_NAME = "com.duben.dayplaylet"
const val ACTION_EXIT_APP = "package.exit" const val ACTION_EXIT_APP = "package.exit"
const val LUCKY_FLAG = "LUCKY_FLAG"
const val CARRIERTYPE_CSJ_VEDIO = "VEDIO_UNLOCK" const val CARRIERTYPE_CSJ_VEDIO = "VEDIO_UNLOCK"
...@@ -29,6 +28,11 @@ object Constant { ...@@ -29,6 +28,11 @@ object Constant {
const val CARRIERTYPE_SIGN_7 = "FORCASH_SIGN_AFTER7" //签到7天后的视频 const val CARRIERTYPE_SIGN_7 = "FORCASH_SIGN_AFTER7" //签到7天后的视频
const val CARRIERTYPE_SONG_CLICK = "REWARD_GUESS_SONG_CLICK" //不看视频点击答题 的入参
const val CARRIERTYPE_SONG_MORE = "REWARD_GUESS_SONG_MORE" //翻倍 的入参
const val CARRIERTYPE_SONG_ALL = "REWARD_GUESS_SONG_ALL" //画着红包直接看视频的入参
const val FRAGMENT_CLICK_ONE = 0 const val FRAGMENT_CLICK_ONE = 0
const val FRAGMENT_CLICK_TWO = 1 const val FRAGMENT_CLICK_TWO = 1
const val FRAGMENT_CLICK_THREE = 2 const val FRAGMENT_CLICK_THREE = 2
......
...@@ -6,6 +6,7 @@ import com.duben.dayplaylet.mvp.model.MusicBean ...@@ -6,6 +6,7 @@ import com.duben.dayplaylet.mvp.model.MusicBean
import com.duben.dayplaylet.mvp.views.MusicView import com.duben.dayplaylet.mvp.views.MusicView
import com.duben.library.net.neterror.BaseSubscriber import com.duben.library.net.neterror.BaseSubscriber
import com.duben.library.net.neterror.Throwable import com.duben.library.net.neterror.Throwable
import com.google.gson.JsonObject
class MusicPresenter : BasePresenter<MusicView>() { class MusicPresenter : BasePresenter<MusicView>() {
...@@ -40,4 +41,38 @@ class MusicPresenter : BasePresenter<MusicView>() { ...@@ -40,4 +41,38 @@ class MusicPresenter : BasePresenter<MusicView>() {
} }
}) })
} }
// 添加金币
fun reportAddCoinMsg(carrierType: String) {
val vo = HashMap<String, Any>()
vo["carrierType"] = carrierType
AppHttpManager.getInstance(loanApplication)
.call(loanService.reportAddCoinMsg(vo),
object : BaseSubscriber<BaseResponse<JsonObject>>() {
override fun onCompleted() {
if (isLinkView) return
}
override fun onError(e: Throwable) {
if (isLinkView) return
view.showToast(e.message)
}
override fun onNext(baseResponse: BaseResponse<JsonObject>) {
if (isLinkView) return
val code = baseResponse.status
val message = baseResponse.message
when (code) {
200 -> {
view.reportAddCoinMsgSuc()
}
else -> {
view.showToast(message)
}
}
}
})
}
} }
\ No newline at end of file
...@@ -4,4 +4,5 @@ import com.duben.dayplaylet.mvp.model.MusicBean ...@@ -4,4 +4,5 @@ import com.duben.dayplaylet.mvp.model.MusicBean
interface MusicView : BaseView { interface MusicView : BaseView {
fun rdSongMsgSuc(data: MusicBean) fun rdSongMsgSuc(data: MusicBean)
fun reportAddCoinMsgSuc()
} }
\ No newline at end of file
...@@ -97,8 +97,8 @@ public class OkHttpInterceptor implements Interceptor { ...@@ -97,8 +97,8 @@ public class OkHttpInterceptor implements Interceptor {
return request.newBuilder(). return request.newBuilder().
addHeader("version", DeviceInfo.Companion.getInstance().getVersionName()). addHeader("version", DeviceInfo.Companion.getInstance().getVersionName()).
addHeader("token", tokenID). addHeader("token", tokenID).
// addHeader("pkgName", Constant.MINTS_PKG_NAME). addHeader("pkgName", Constant.MINTS_PKG_NAME).
addHeader("pkgName", "com.mints.helivideo"). // addHeader("pkgName", "com.mints.bcurd").
addHeader("channel", channel). addHeader("channel", channel).
addHeader("new-session", MD5.GetMD5Code(String.valueOf(time))). addHeader("new-session", MD5.GetMD5Code(String.valueOf(time))).
addHeader("last-session", Base64.encode(String.valueOf(time).getBytes("UTF-8"))). addHeader("last-session", Base64.encode(String.valueOf(time).getBytes("UTF-8"))).
......
...@@ -4,19 +4,31 @@ import android.animation.Animator ...@@ -4,19 +4,31 @@ import android.animation.Animator
import android.animation.ValueAnimator import android.animation.ValueAnimator
import android.graphics.Path import android.graphics.Path
import android.graphics.PathMeasure import android.graphics.PathMeasure
import android.os.Handler
import android.os.Looper
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.animation.LinearInterpolator import android.view.animation.LinearInterpolator
import android.widget.Button
import android.widget.ImageView import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.Toast import android.widget.TextView
import androidx.annotation.Nullable import androidx.annotation.Nullable
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.airbnb.lottie.LottieAnimationView
import com.airbnb.lottie.LottieComposition
import com.airbnb.lottie.LottieCompositionFactory
import com.airbnb.lottie.LottieDrawable
import com.bytedance.sdk.dp.* import com.bytedance.sdk.dp.*
import com.daimajia.androidanimations.library.Techniques
import com.daimajia.androidanimations.library.YoYo
import com.daimajia.androidanimations.library.YoYo.YoYoString
import com.duben.dayplaylet.R import com.duben.dayplaylet.R
import com.duben.dayplaylet.ad.AdManager
import com.duben.dayplaylet.ad.AdStatusListener
import com.duben.dayplaylet.ad.NoPreAdManager
import com.duben.dayplaylet.common.AppConfig import com.duben.dayplaylet.common.AppConfig
import com.duben.dayplaylet.common.Constant import com.duben.dayplaylet.common.Constant
import com.duben.dayplaylet.manager.DPHolder import com.duben.dayplaylet.manager.DPHolder
...@@ -24,10 +36,11 @@ import com.duben.dayplaylet.mvp.model.MusicBean ...@@ -24,10 +36,11 @@ import com.duben.dayplaylet.mvp.model.MusicBean
import com.duben.dayplaylet.mvp.presenters.MusicPresenter import com.duben.dayplaylet.mvp.presenters.MusicPresenter
import com.duben.dayplaylet.mvp.views.MusicView import com.duben.dayplaylet.mvp.views.MusicView
import com.duben.dayplaylet.ui.fragment.base.LazyLoadBaseFragment import com.duben.dayplaylet.ui.fragment.base.LazyLoadBaseFragment
import com.duben.dayplaylet.ui.widgets.countdowntimer.CountDownTimerSupport
import com.duben.dayplaylet.ui.widgets.countdowntimer.OnCountDownTimerListener
import com.duben.dayplaylet.utils.BubbleUtils import com.duben.dayplaylet.utils.BubbleUtils
import com.duben.dayplaylet.utils.LogUtil import com.duben.dayplaylet.utils.LogUtil
import kotlinx.android.synthetic.main.fragment_music.* import kotlinx.android.synthetic.main.fragment_music.*
import kotlinx.android.synthetic.main.layout_draw_header.*
/** /**
* 猜歌 * 猜歌
...@@ -41,20 +54,16 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView { ...@@ -41,20 +54,16 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView {
private var mIDPWidget: IDPWidget? = null private var mIDPWidget: IDPWidget? = null
private var mDrawFragment: Fragment? = null private var mDrawFragment: Fragment? = null
private val mainHandler = Handler(Looper.getMainLooper())
private var mMusicBean: MusicBean? = null
private var mPos = 0 private var mPos = 0
override fun getContentViewLayoutID() = R.layout.fragment_music override fun getContentViewLayoutID() = R.layout.fragment_music
override fun initViewsAndEvents() { override fun initViewsAndEvents() {
musicPresenter.attachView(this) musicPresenter.attachView(this)
btn1.setOnClickListener {
addAnimation(it, iv_gold)
}
btn2.setOnClickListener {
addAnimation(it, iv_cash)
}
} }
override fun onFragmentFirstVisible() { override fun onFragmentFirstVisible() {
...@@ -145,36 +154,117 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView { ...@@ -145,36 +154,117 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView {
quizHandler, quizHandler,
feedParamsForCallback feedParamsForCallback
) )
val option0 = view.findViewById<Button>(R.id.quiz_option0)
val option1 = view.findViewById<Button>(R.id.quiz_option1) val quizLLPop = view.findViewById<LinearLayout>(R.id.quiz_ll_pop)
val optionsList: MutableList<Button> = ArrayList() val quizTvPop = view.findViewById<TextView>(R.id.quiz_tv_pop)
val finger = view.findViewById<LottieAnimationView>(R.id.finger_view)
val quizIvRedbox0 = view.findViewById<ImageView>(R.id.quiz_iv_redbox0)
val quizIvRedbox1 = view.findViewById<ImageView>(R.id.quiz_iv_redbox1)
val quizIvOption0 = view.findViewById<ImageView>(R.id.quiz_iv_option0)
val quizIvOption1 = view.findViewById<ImageView>(R.id.quiz_iv_option1)
val quizIv = view.findViewById<ImageView>(R.id.quiz_iv)
val option0 = view.findViewById<TextView>(R.id.quiz_option0)
val option1 = view.findViewById<TextView>(R.id.quiz_option1)
val optionsList: MutableList<TextView> = ArrayList()
optionsList.add(option0) optionsList.add(option0)
optionsList.add(option1) optionsList.add(option1)
quizIvOption0.visibility = View.GONE
quizIvOption1.visibility = View.GONE
quizIvRedbox0.visibility = View.GONE
quizIvRedbox1.visibility = View.GONE
quizLLPop.visibility = View.GONE
quizTvPop.visibility = View.GONE
finger.visibility = View.GONE
mainHandler.postDelayed({
val ls = finger.layoutParams as RelativeLayout.LayoutParams
if (answer == 0) {
ls.addRule(RelativeLayout.ALIGN_TOP, R.id.fl_option0)
} else {
ls.addRule(RelativeLayout.ALIGN_TOP, R.id.fl_option1)
}
playFingerAnim(finger)
}, 3000)
for (i in optionsList.indices) { for (i in optionsList.indices) {
val right = answer == i val right = answer == i
val background: Int = var background: Int
if (right) R.drawable.selector_quzi_button_ok else R.drawable.selector_quzi_button_error var background2: Int
if (right) {
mMusicBean?.let {
if (it.nextIsAd) {
if (i == 0) {
quizIvRedbox0.visibility = View.VISIBLE
} else {
quizIvRedbox1.visibility = View.VISIBLE
}
}
}
background = R.drawable.icon_quiz_button_right_bg
background2 = R.drawable.icon_quiz_right
} else {
background = R.drawable.icon_quiz_button_error_bg
background2 = R.drawable.icon_quiz_error
}
val button = optionsList[i] val button = optionsList[i]
button.text = options[i] button.text = options[i]
button.setBackgroundResource(R.drawable.selector_quzi_button_default) button.setBackgroundResource(R.drawable.icon_quiz_button_bg)
button.setOnClickListener { button.setOnClickListener {
finger.visibility = View.GONE
if (lastAnswer != -1) return@setOnClickListener
quizIv.visibility = View.VISIBLE
if (right) { if (right) {
Toast.makeText(view.context, "回答正确", Toast.LENGTH_SHORT) quizIv.setBackgroundResource(R.drawable.icon_quiz_right_toast_bg)
.show()
} else { } else {
Toast.makeText(view.context, "回答错误", Toast.LENGTH_SHORT) quizIv.setBackgroundResource(R.drawable.icon_quiz_error_toast_bg)
.show()
} }
for (btn in optionsList) { for (btn in optionsList) {
btn.setBackgroundResource(R.drawable.selector_quzi_button_default) btn.setBackgroundResource(R.drawable.icon_quiz_button_bg)
}
if (i == 0) {
// 答案1
quizIvOption0.visibility = View.VISIBLE
quizIvOption0.setBackgroundResource(background2)
} else {
// 答案2
quizIvOption1.visibility = View.VISIBLE
quizIvOption1.setBackgroundResource(background2)
} }
button.setBackgroundResource(background) button.setBackgroundResource(background)
quizHandler.reportResult(i) quizHandler.reportResult(i)
if (mIDPWidget != null) {
mIDPWidget!!.setCurrentPage(mPos + 1) mMusicBean?.let {
if (right) {
if (it.nextIsAd) {
awardVideo(Constant.CARRIERTYPE_SONG_ALL)
} else {
musicPresenter.reportAddCoinMsg(Constant.CARRIERTYPE_SONG_CLICK)
quizTvPop.visibility = View.VISIBLE
quizLLPop.visibility = View.VISIBLE
showAdPop(quizLLPop, quizTvPop, finger)
}
}
} }
mainHandler.postDelayed({
quizIv.visibility = View.GONE
}, 1000)
} }
if (lastAnswer == i) { if (lastAnswer == i) {
if (lastAnswer == 0) {
quizIvOption0.visibility = View.VISIBLE
quizIvOption0.setBackgroundResource(background2)
} else {
quizIvOption1.visibility = View.VISIBLE
quizIvOption1.setBackgroundResource(background2)
}
quizIvRedbox0.visibility = View.GONE
quizIvRedbox1.visibility = View.GONE
button.setBackgroundResource(background) button.setBackgroundResource(background)
} }
} }
...@@ -320,6 +410,113 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView { ...@@ -320,6 +410,113 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView {
//计算path路径中点的坐标 //计算path路径中点的坐标
private var mPathMeasure: PathMeasure? = null private var mPathMeasure: PathMeasure? = null
override fun rdSongMsgSuc(data: MusicBean) {
mMusicBean = data
}
override fun reportAddCoinMsgSuc() {
musicPresenter.rdSongMsg()
}
private fun awardVideo(carrierType: String) {
AdManager.instance.showAd(requireActivity(), carrierType,
object : AdStatusListener {
var canFail = false
override fun adSuccess() {
canFail = true
}
override fun adFail() {
if (canFail) return
NoPreAdManager.loadVideoAd(requireActivity(), carrierType,
object : AdStatusListener {
override fun adFail() {
showToast("广告太火爆了,请稍候再试")
}
override fun adSuccess() {
}
override fun adClose(vo: HashMap<String, Any>?) {
musicPresenter.reportAddCoinMsg(carrierType)
}
})
}
override fun adClose(vo: HashMap<String, Any>?) {
musicPresenter.reportAddCoinMsg(carrierType)
}
})
}
private fun showAddReward() {
}
private var mTimer: CountDownTimerSupport? = null
private var rope: YoYoString? = null
private fun showAdPop(
quizLLPop: LinearLayout,
quizTvPop: TextView,
finger: LottieAnimationView
) {
finger.pauseAnimation()
finger.visibility = View.GONE
quizLLPop.setOnClickListener {
awardVideo(Constant.CARRIERTYPE_SONG_MORE)
quizLLPop.visibility = View.GONE
quizTvPop.visibility = View.GONE
mTimer?.stop()
rope?.stop()
mTimer = null
rope = null
}
mTimer = CountDownTimerSupport(8000, 1000)
mTimer?.setOnCountDownTimerListener(object : OnCountDownTimerListener {
override fun onTick(millisUntilFinished: Long) {
quizTvPop.text = String.format("%2ds后消失", (millisUntilFinished / 1000).toInt())
}
override fun onFinish() {
mTimer?.stop()
rope?.stop()
mTimer = null
rope = null
finger.pauseAnimation()
finger.visibility = View.GONE
quizLLPop.visibility = View.GONE
quizTvPop.visibility = View.GONE
}
})
mTimer?.start()
mainHandler.postDelayed({
rope = null
rope = YoYo.with(Techniques.Pulse).duration(1000).repeat(-1).playOn(quizLLPop)
val ls = finger.layoutParams as RelativeLayout.LayoutParams
ls.addRule(RelativeLayout.ALIGN_TOP, R.id.quiz_ll_pop)
playFingerAnim(finger)
}, 200)
}
private fun playFingerAnim(view: LottieAnimationView) {
view.visibility = View.VISIBLE
val lottieDrawable = LottieDrawable()
LottieCompositionFactory.fromAsset(context, "home_shouzhi.json")
.addListener { result: LottieComposition? ->
lottieDrawable.setImagesAssetsFolder("home_shouzhi/")
lottieDrawable.composition = result
lottieDrawable.loop(true)
lottieDrawable.playAnimation()
}
view.setImageDrawable(lottieDrawable)
}
/** /**
* 贝塞尔曲线中间过程的点的坐标 * 贝塞尔曲线中间过程的点的坐标
*/ */
...@@ -329,7 +526,7 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView { ...@@ -329,7 +526,7 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView {
* 动画 * 动画
*/ */
private fun addAnimation(view: View, targetView: View) { private fun addAnimation(view: View, targetView: View) {
// 一、创造出执行动画的主题---imageview // 一、创造出执行动画的主题---imageview
//代码new一个imageview,图片资源是上面的imageview的图片 //代码new一个imageview,图片资源是上面的imageview的图片
// (这个图片就是执行动画的图片,从开始位置出发,经过一个抛物线(贝塞尔曲线),移动到购物车里) // (这个图片就是执行动画的图片,从开始位置出发,经过一个抛物线(贝塞尔曲线),移动到购物车里)
val goods = ImageView(mContext) val goods = ImageView(mContext)
...@@ -337,7 +534,7 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView { ...@@ -337,7 +534,7 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView {
val params = RelativeLayout.LayoutParams(BubbleUtils.dp2px(30), BubbleUtils.dp2px(30)) val params = RelativeLayout.LayoutParams(BubbleUtils.dp2px(30), BubbleUtils.dp2px(30))
rl.addView(goods, params) rl.addView(goods, params)
// 二、计算动画开始/结束点的坐标的准备工作 // 二、计算动画开始/结束点的坐标的准备工作
//得到父布局的起始点坐标(用于辅助计算动画开始/结束时的点的坐标) //得到父布局的起始点坐标(用于辅助计算动画开始/结束时的点的坐标)
val parentLocation = IntArray(2) val parentLocation = IntArray(2)
rl.getLocationInWindow(parentLocation) rl.getLocationInWindow(parentLocation)
...@@ -350,7 +547,7 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView { ...@@ -350,7 +547,7 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView {
val endLoc = IntArray(2) val endLoc = IntArray(2)
targetView.getLocationInWindow(endLoc) targetView.getLocationInWindow(endLoc)
// 三、正式开始计算动画开始/结束的坐标 // 三、正式开始计算动画开始/结束的坐标
//开始掉落的商品的起始点:商品起始点-父布局起始点+该商品图片的一半 //开始掉落的商品的起始点:商品起始点-父布局起始点+该商品图片的一半
val startX = val startX =
startLoc[0] - parentLocation[0] + goods.width / 2.toFloat() startLoc[0] - parentLocation[0] + goods.width / 2.toFloat()
...@@ -413,7 +610,5 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView { ...@@ -413,7 +610,5 @@ class MusicFragment : LazyLoadBaseFragment(), MusicView {
}) })
} }
override fun rdSongMsgSuc(data: MusicBean) {
}
} }
\ No newline at end of file
...@@ -13,7 +13,6 @@ import com.duben.dayplaylet.ui.activitys.SettingsActivity ...@@ -13,7 +13,6 @@ import com.duben.dayplaylet.ui.activitys.SettingsActivity
import com.duben.dayplaylet.ui.adapter.TasksAdapter import com.duben.dayplaylet.ui.adapter.TasksAdapter
import com.duben.dayplaylet.ui.fragment.base.LazyLoadBaseFragment import com.duben.dayplaylet.ui.fragment.base.LazyLoadBaseFragment
import com.duben.dayplaylet.ui.fragment.draw.DrawCashDialog import com.duben.dayplaylet.ui.fragment.draw.DrawCashDialog
import com.duben.dayplaylet.utils.BubbleUtils
import com.duben.dayplaylet.utils.SpanUtils import com.duben.dayplaylet.utils.SpanUtils
import com.duben.library.utils.nodoubleclick.AntiShake import com.duben.library.utils.nodoubleclick.AntiShake
import kotlinx.android.synthetic.main.fragment_main_my.* import kotlinx.android.synthetic.main.fragment_main_my.*
......
package com.duben.dayplaylet.ui.fragment.draw package com.duben.dayplaylet.ui.fragment.draw
import android.os.Bundle import android.os.Bundle
import android.text.Spannable
import android.text.style.ImageSpan
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.duben.dayplaylet.R import com.duben.dayplaylet.R
import com.duben.dayplaylet.ui.fragment.base.BaseFragment import com.duben.dayplaylet.ui.fragment.base.BaseFragment
import com.duben.dayplaylet.utils.SpanUtils import com.duben.dayplaylet.utils.SpanUtils
import com.duben.dayplaylet.utils.SpanUtils.ALIGN_BASELINE
import kotlinx.android.synthetic.main.fragment_draw.* import kotlinx.android.synthetic.main.fragment_draw.*
/** /**
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="8dp" />
<solid android:color="#BBFF0000" />
</shape>
\ 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">
<corners
android:radius="8dp" />
<solid android:color="#BB00FF00" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/ic_agree_selected" android:state_checked="true" />
<item android:drawable="@mipmap/ic_agree_unselected" android:state_checked="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android">
android:shape="rectangle">
<corners <corners android:radius="30dp" />
android:radius="8dp" /> <solid android:color="@color/color_30_trans" />
<solid android:color="#55F5F5F5" />
</shape> </shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
...@@ -37,7 +36,7 @@ ...@@ -37,7 +36,7 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:layout_marginStart="14dp"
android:text="提现方式" android:text="提现方式"
android:textColor="@color/black" /> android:textColor="@color/black" />
...@@ -56,19 +55,29 @@ ...@@ -56,19 +55,29 @@
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/shape_draw_adapter_none" android:background="@drawable/shape_draw_adapter_none"
android:button="@null" android:button="@null"
android:gravity="center" android:checked="true"
android:text="微信" /> android:drawableStart="@mipmap/withdraw_wx"
android:drawableEnd="@drawable/selector_withdraw"
android:gravity="start|center_vertical"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:text=" 微信" />
<RadioButton <RadioButton
android:id="@+id/rb_alipay" android:id="@+id/rb_alipay"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="@dimen/dp_10" android:layout_marginEnd="@dimen/dp_10"
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/shape_draw_adapter_none" android:background="@drawable/shape_draw_adapter_none"
android:button="@null" android:button="@null"
android:gravity="center" android:checked="false"
android:text="支付宝" /> android:drawableStart="@mipmap/withdraw_zfb"
android:drawableEnd="@drawable/selector_withdraw"
android:gravity="start|center_vertical"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:text=" 支付宝" />
</RadioGroup> </RadioGroup>
......
...@@ -11,22 +11,4 @@ ...@@ -11,22 +11,4 @@
<include layout="@layout/layout_draw_header" /> <include layout="@layout/layout_draw_header" />
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="100dp"
android:background="@mipmap/ic_launcher_main" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="100dp"
android:background="@mipmap/ic_launcher_main" />
</RelativeLayout> </RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingLeft="48dp"
android:paddingRight="48dp"
tools:background="@color/black"> tools:background="@color/black">
<Button <ImageView
android:id="@+id/quiz_option0" android:id="@+id/quiz_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<TextView
android:id="@+id/quiz_tv_qus"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_above="@+id/quiz_option1" android:layout_above="@id/fl_option0"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp" android:layout_marginStart="48dp"
android:background="@drawable/selector_quzi_button_default" android:layout_marginEnd="48dp"
tools:text="A.心太软" /> android:layout_marginBottom="80dp"
android:background="@drawable/shape_mild_trans"
android:gravity="center"
android:padding="@dimen/dp_10"
android:text="背景音乐是什么歌 _ _ _ _ ?"
android:textColor="@color/white" />
<Button <FrameLayout
android:id="@+id/quiz_option1" android:id="@+id/fl_option0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/fl_option1"
android:layout_centerHorizontal="true"
android:layout_marginStart="48dp"
android:layout_marginEnd="48dp"
android:layout_marginBottom="20dp">
<TextView
android:id="@+id/quiz_option0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/icon_quiz_button_bg"
android:gravity="center"
android:paddingBottom="5dp"
android:textColor="@color/main_mints"
android:textStyle="bold"
tools:text="心太软" />
<ImageView
android:id="@+id/quiz_iv_redbox0"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="50dp"
android:paddingBottom="5dp"
android:src="@mipmap/ic_redpkg"
android:visibility="gone" />
<ImageView
android:id="@+id/quiz_iv_option0"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="20dp"
android:paddingBottom="5dp"
android:visibility="gone" />
</FrameLayout>
<FrameLayout
android:id="@+id/fl_option1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginBottom="50dp" android:layout_marginStart="48dp"
android:background="@drawable/selector_quzi_button_default" android:layout_marginEnd="48dp"
tools:text="B.伤心太平洋" /> android:layout_marginBottom="50dp">
<TextView
android:id="@+id/quiz_option1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/icon_quiz_button_bg"
android:gravity="center"
android:paddingBottom="5dp"
android:textColor="@color/main_mints"
android:textStyle="bold"
tools:text="伤心太平洋" />
<ImageView
android:id="@+id/quiz_iv_redbox1"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="50dp"
android:paddingBottom="5dp"
android:src="@mipmap/ic_redpkg"
android:visibility="gone" />
<ImageView
android:id="@+id/quiz_iv_option1"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="20dp"
android:paddingBottom="5dp"
android:visibility="gone" />
</FrameLayout>
<TextView
android:id="@+id/quiz_tv_pop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@id/quiz_ll_pop"
android:layout_alignTop="@id/quiz_ll_pop"
android:layout_alignEnd="@id/quiz_ll_pop"
android:layout_marginStart="26dp"
android:layout_marginTop="-30dp"
android:layout_marginEnd="26dp"
android:background="@drawable/shape_red"
android:gravity="center"
android:paddingStart="10dp"
android:paddingTop="2dp"
android:paddingEnd="10dp"
android:paddingBottom="2dp"
android:text="8s后消失"
android:textColor="@color/white"
android:textSize="12sp"
android:visibility="gone" />
<LinearLayout
android:id="@+id/quiz_ll_pop"
android:layout_width="128dp"
android:layout_height="wrap_content"
android:layout_alignTop="@id/fl_option0"
android:layout_alignParentEnd="true"
android:layout_marginTop="-30dp"
android:layout_marginEnd="30dp"
android:background="@drawable/bg_jlfb"
android:orientation="vertical"
android:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:drawablePadding="2dp"
android:text="奖励翻倍"
android:textStyle="bold"
app:drawableStartCompat="@drawable/ic_envelope_video" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="2dp"
android:layout_marginEnd="6dp"
android:drawablePadding="2dp"
android:text="最高可得10元"
android:textSize="12sp" />
</LinearLayout>
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/finger_view"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignTop="@id/fl_option1"
android:layout_alignParentEnd="true"
android:layout_marginTop="26dp"
android:layout_marginEnd="48dp" />
</RelativeLayout> </RelativeLayout>
\ No newline at end of file
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
<color name="full_transparent">#00000000</color> <color name="full_transparent">#00000000</color>
<color name="half_transparent">#80000000</color> <color name="half_transparent">#80000000</color>
<color name="color_20000000">#10000000</color> <color name="color_20000000">#10000000</color>
<color name="color_30_trans">#4D000000</color>
<color name="title_bg">#2B3238</color> <color name="title_bg">#2B3238</color>
<color name="btn_enabled">#F1F2F8</color> <color name="btn_enabled">#F1F2F8</color>
<color name="black_text">#333333</color> <color name="black_text">#333333</color>
......
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
<string name="bottom_tab_my">提现</string> <string name="bottom_tab_my">提现</string>
<string name="draw_cash">提现</string> <string name="draw_cash">提现</string>
<string name="str_wechat">微信</string>
<string name="str_alipay">支付宝</string>
<!--内存页--> <!--内存页-->
......
...@@ -22,8 +22,8 @@ android.nonTransitiveRClass=true ...@@ -22,8 +22,8 @@ android.nonTransitiveRClass=true
# org.gradle.parallel=true # org.gradle.parallel=true
#DEBUG_URL="https://test.mints-id.com/camera-api/" #DEBUG_URL="https://test.mints-id.com/camera-api/"
#DEBUG_URL="http://cui.mints-id.com/" DEBUG_URL="https://api.mints-tech.cn/vcash-api/"
DEBUG_URL="https://api.mints-tech.cn/camera-api/" #DEBUG_URL="https://api.mints-tech.cn/camera-api/"
RELEASE_URL="https://api.mints-tech.cn/camera-api/" RELEASE_URL="https://api.mints-tech.cn/camera-api/"
RELEASE_KEY_PASSWORD=mintsdayplaylet RELEASE_KEY_PASSWORD=mintsdayplaylet
......
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