引导页修改完成
This commit is contained in:
parent
45b3738025
commit
b707c20cd6
|
|
@ -116,8 +116,7 @@ class LauncherActivity : BaseActivity() {
|
||||||
LoginActivity.start(this@LauncherActivity)
|
LoginActivity.start(this@LauncherActivity)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// startActivity<MainActivity>()
|
startActivity<MainActivity>()
|
||||||
startActivity<GuideActivity>()
|
|
||||||
}
|
}
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import kotlin.math.ceil
|
||||||
|
|
||||||
class GuideItem3Adapter(val context: Context): RecyclerView.Adapter<BaseViewHolder>() {
|
class GuideItem3Adapter(val context: Context): RecyclerView.Adapter<BaseViewHolder>() {
|
||||||
val data: MutableList<HotWordEntity.Child> = mutableListOf()
|
val data: MutableList<HotWordEntity.Child> = mutableListOf()
|
||||||
|
private var showAnim = true
|
||||||
|
|
||||||
private var mOnKeywordClickListener: ((keyword: HotWordEntity.Child) -> Unit)? = null
|
private var mOnKeywordClickListener: ((keyword: HotWordEntity.Child) -> Unit)? = null
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ class GuideItem2Fragment : BaseFragment<FragmentGuideItem2Binding, GuideViewMode
|
||||||
}
|
}
|
||||||
val hasOther = list.find { it.id == 0 } != null
|
val hasOther = list.find { it.id == 0 } != null
|
||||||
val selectedList = if (hasOther) mAdapter.data else list
|
val selectedList = if (hasOther) mAdapter.data else list
|
||||||
|
GuideFragment.hotWordList.clear()
|
||||||
selectedList.forEach {
|
selectedList.forEach {
|
||||||
GuideFragment.hotWordList.addAll(it.children)
|
GuideFragment.hotWordList.addAll(it.children)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,7 @@ class GuideItem4Fragment : BaseFragment<FragmentGuideItem4Binding, GuideViewMode
|
||||||
toast("请选择地区")
|
toast("请选择地区")
|
||||||
return@onClick
|
return@onClick
|
||||||
}
|
}
|
||||||
|
GuideFragment.cityList.addAll(selectList)
|
||||||
val cityIds = selectList.map { it.id }
|
val cityIds = selectList.map { it.id }
|
||||||
val keywords = GuideFragment.keywordList.map { it.name }
|
val keywords = GuideFragment.keywordList.map { it.name }
|
||||||
mViewModel.getTotalBidInfo(keywords.joinToString(","), cityIds.joinToString(","), "${hotWordChildList.size}")
|
mViewModel.getTotalBidInfo(keywords.joinToString(","), cityIds.joinToString(","), "${hotWordChildList.size}")
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import com.cheng.blzb.ui.fragment.guide.vip.GuideVipFragment
|
||||||
import com.example.base.extensions.visible
|
import com.example.base.extensions.visible
|
||||||
import com.example.base.ui.BaseFragment
|
import com.example.base.ui.BaseFragment
|
||||||
import com.example.base.utils.DensityUtils
|
import com.example.base.utils.DensityUtils
|
||||||
|
import com.example.base.utils.ScreenUtils
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.yy.mobile.rollingtextview.CharOrder
|
import com.yy.mobile.rollingtextview.CharOrder
|
||||||
import com.yy.mobile.rollingtextview.strategy.Strategy
|
import com.yy.mobile.rollingtextview.strategy.Strategy
|
||||||
|
|
@ -47,6 +48,7 @@ class GuideItem5Fragment : BaseFragment<FragmentGuideItem5Binding, GuideViewMode
|
||||||
|
|
||||||
override fun initView() {
|
override fun initView() {
|
||||||
super.initView()
|
super.initView()
|
||||||
|
binding.tvTitle.typeface = Constants.pmzdbt
|
||||||
binding.tvBidCount.typeface = Constants.ysbth
|
binding.tvBidCount.typeface = Constants.ysbth
|
||||||
binding.tvUnit.typeface = Constants.ysbth
|
binding.tvUnit.typeface = Constants.ysbth
|
||||||
|
|
||||||
|
|
@ -96,10 +98,17 @@ class GuideItem5Fragment : BaseFragment<FragmentGuideItem5Binding, GuideViewMode
|
||||||
earthRotateAnim.repeatCount = -1
|
earthRotateAnim.repeatCount = -1
|
||||||
earthRotateAnim.interpolator = LinearInterpolator()
|
earthRotateAnim.interpolator = LinearInterpolator()
|
||||||
|
|
||||||
val infoAlphaAnim = ObjectAnimator.ofFloat(binding.layoutInfo, "alpha", 0f, 1f)
|
val titleTransAnim = ObjectAnimator.ofFloat(binding.layoutTitle, "translationY", -ScreenUtils.getScreenHeight().toFloat() / 2, 0f)
|
||||||
infoAlphaAnim.duration = 1000
|
titleTransAnim.duration = 2000
|
||||||
infoAlphaAnim.startDelay = 2400
|
titleTransAnim.startDelay = 200
|
||||||
infoAlphaAnim.addListener(onStart = {
|
titleTransAnim.addListener(onStart = {
|
||||||
|
binding.layoutTitle.visible()
|
||||||
|
})
|
||||||
|
|
||||||
|
val infoTransAnim = ObjectAnimator.ofFloat(binding.layoutInfo, "translationY", -ScreenUtils.getScreenHeight().toFloat() / 2, 0f)
|
||||||
|
infoTransAnim.duration = 2000
|
||||||
|
infoTransAnim.startDelay = 200
|
||||||
|
infoTransAnim.addListener(onStart = {
|
||||||
binding.layoutInfo.visible()
|
binding.layoutInfo.visible()
|
||||||
}, onEnd = {
|
}, onEnd = {
|
||||||
startNumAnim()
|
startNumAnim()
|
||||||
|
|
@ -130,7 +139,7 @@ class GuideItem5Fragment : BaseFragment<FragmentGuideItem5Binding, GuideViewMode
|
||||||
})
|
})
|
||||||
|
|
||||||
val animSet = AnimatorSet()
|
val animSet = AnimatorSet()
|
||||||
animSet.playTogether(bgTransAnim, star1TranAnim, star2TranAnim, earthTransAnim, earthRotateAnim, infoAlphaAnim, progressMaskAnim)
|
animSet.playTogether(bgTransAnim, star1TranAnim, star2TranAnim, earthTransAnim, earthRotateAnim, titleTransAnim, infoTransAnim, progressMaskAnim)
|
||||||
animSet.start()
|
animSet.start()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ import com.cheng.blzb.databinding.FragmentGuideVipBinding
|
||||||
import com.cheng.blzb.event.OrderEvent
|
import com.cheng.blzb.event.OrderEvent
|
||||||
import com.cheng.blzb.event.PayStatusEnum
|
import com.cheng.blzb.event.PayStatusEnum
|
||||||
import com.cheng.blzb.event.PayStatusEvent
|
import com.cheng.blzb.event.PayStatusEvent
|
||||||
import com.cheng.blzb.event.PaySuccessEvent
|
|
||||||
import com.cheng.blzb.manager.DialogEnum
|
import com.cheng.blzb.manager.DialogEnum
|
||||||
import com.cheng.blzb.manager.EventReportManager
|
import com.cheng.blzb.manager.EventReportManager
|
||||||
import com.cheng.blzb.manager.LoginManager
|
import com.cheng.blzb.manager.LoginManager
|
||||||
|
|
@ -91,7 +90,7 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
||||||
private var totalPrice = 0f
|
private var totalPrice = 0f
|
||||||
private var lastGoodsPrice = 0f
|
private var lastGoodsPrice = 0f
|
||||||
|
|
||||||
private val goodsAdapter by lazy { GuideVipAdapter() }
|
private val goodsAdapter by lazy { GuideVipGoodsAdapter() }
|
||||||
|
|
||||||
private var goodsEntity: VipGoodsEntity? = null
|
private var goodsEntity: VipGoodsEntity? = null
|
||||||
private var orderEntity: OrderPayEntity? = null
|
private var orderEntity: OrderPayEntity? = null
|
||||||
|
|
@ -100,6 +99,7 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
||||||
private var countdownDisposable: Disposable? = null
|
private var countdownDisposable: Disposable? = null
|
||||||
private var scrollTask: Disposable? = null
|
private var scrollTask: Disposable? = null
|
||||||
|
|
||||||
|
@SuppressLint("SetTextI18n")
|
||||||
override fun initView() {
|
override fun initView() {
|
||||||
super.initView()
|
super.initView()
|
||||||
setStatusBarLight(false)
|
setStatusBarLight(false)
|
||||||
|
|
@ -500,14 +500,14 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
||||||
|
|
||||||
val timeTransAnim = ObjectAnimator.ofFloat(binding.layoutCountdown, "translationY", ScreenUtils.getScreenHeight().toFloat(), 0f)
|
val timeTransAnim = ObjectAnimator.ofFloat(binding.layoutCountdown, "translationY", ScreenUtils.getScreenHeight().toFloat(), 0f)
|
||||||
timeTransAnim.duration = 1000
|
timeTransAnim.duration = 1000
|
||||||
timeTransAnim.startDelay = 1000
|
timeTransAnim.startDelay = 1200
|
||||||
timeTransAnim.addListener(onStart = {
|
timeTransAnim.addListener(onStart = {
|
||||||
binding.layoutCountdown.visible()
|
binding.layoutCountdown.visible()
|
||||||
})
|
})
|
||||||
|
|
||||||
val goodsTransAnim = ObjectAnimator.ofFloat(binding.rvGoods, "translationY", ScreenUtils.getScreenHeight().toFloat(), 0f)
|
val goodsTransAnim = ObjectAnimator.ofFloat(binding.rvGoods, "translationY", ScreenUtils.getScreenHeight().toFloat(), 0f)
|
||||||
goodsTransAnim.duration = 1000
|
goodsTransAnim.duration = 1000
|
||||||
goodsTransAnim.startDelay = 1200
|
goodsTransAnim.startDelay = 1000
|
||||||
goodsTransAnim.addListener(onStart = {
|
goodsTransAnim.addListener(onStart = {
|
||||||
binding.rvGoods.visible()
|
binding.rvGoods.visible()
|
||||||
})
|
})
|
||||||
|
|
@ -526,6 +526,14 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
||||||
binding.layoutPayBtn.visible()
|
binding.layoutPayBtn.visible()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
val payLightTransAnim = ObjectAnimator.ofFloat(binding.ivPayLight, "translationX", -binding.tvPay.width.toFloat(), binding.tvPay.width.toFloat())
|
||||||
|
payLightTransAnim.duration = 1500
|
||||||
|
payLightTransAnim.repeatCount = -1
|
||||||
|
payLightTransAnim.startDelay = 1500
|
||||||
|
payLightTransAnim.addListener(onStart = {
|
||||||
|
binding.ivPayLight.visible()
|
||||||
|
})
|
||||||
|
|
||||||
val animSet = AnimatorSet()
|
val animSet = AnimatorSet()
|
||||||
animSet.playTogether(
|
animSet.playTogether(
|
||||||
closeAlphaAnim,
|
closeAlphaAnim,
|
||||||
|
|
@ -536,7 +544,8 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
||||||
timeTransAnim,
|
timeTransAnim,
|
||||||
goodsTransAnim,
|
goodsTransAnim,
|
||||||
payTypeTransAnim,
|
payTypeTransAnim,
|
||||||
payBtnTransAnim
|
payBtnTransAnim,
|
||||||
|
payLightTransAnim
|
||||||
)
|
)
|
||||||
animSet.start()
|
animSet.start()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
package com.cheng.blzb.ui.fragment.guide.vip
|
package com.cheng.blzb.ui.fragment.guide.vip
|
||||||
|
|
||||||
|
import android.animation.ObjectAnimator
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
import androidx.core.animation.addListener
|
||||||
import androidx.core.graphics.toColorInt
|
import androidx.core.graphics.toColorInt
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
|
|
@ -11,18 +14,21 @@ import com.cheng.blzb.R
|
||||||
import com.cheng.blzb.bean.VipGoodsEntity
|
import com.cheng.blzb.bean.VipGoodsEntity
|
||||||
import com.cheng.blzb.common.Constants
|
import com.cheng.blzb.common.Constants
|
||||||
import com.example.base.extensions.getColor
|
import com.example.base.extensions.getColor
|
||||||
|
import com.example.base.extensions.visible
|
||||||
import com.example.base.utils.DensityUtils
|
import com.example.base.utils.DensityUtils
|
||||||
import com.example.base.utils.SpanUtils
|
import com.example.base.utils.SpanUtils
|
||||||
import com.flyjingfish.gradienttextviewlib.GradientTextView
|
import com.flyjingfish.gradienttextviewlib.GradientTextView
|
||||||
import java.text.DecimalFormat
|
import java.text.DecimalFormat
|
||||||
|
|
||||||
class GuideVipAdapter: BaseQuickAdapter<VipGoodsEntity, BaseViewHolder>(R.layout.listitem_guide_vip_goods) {
|
class GuideVipGoodsAdapter: BaseQuickAdapter<VipGoodsEntity, BaseViewHolder>(R.layout.listitem_guide_vip_goods) {
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: VipGoodsEntity) {
|
override fun convert(holder: BaseViewHolder, item: VipGoodsEntity) {
|
||||||
holder.setGone(R.id.tv_tag, true)
|
holder.setGone(R.id.tv_tag, true)
|
||||||
|
holder.setGone(R.id.iv_light, true)
|
||||||
if (item.tips.isNotEmpty()) {
|
if (item.tips.isNotEmpty()) {
|
||||||
holder.setVisible(R.id.tv_tag, true)
|
holder.setVisible(R.id.tv_tag, true)
|
||||||
holder.setText(R.id.tv_tag, item.tips)
|
holder.setText(R.id.tv_tag, item.tips)
|
||||||
|
startAnim(holder.getView(R.id.iv_light))
|
||||||
}
|
}
|
||||||
|
|
||||||
holder.setText(R.id.tv_goods_name, item.goods_name)
|
holder.setText(R.id.tv_goods_name, item.goods_name)
|
||||||
|
|
@ -79,4 +85,15 @@ class GuideVipAdapter: BaseQuickAdapter<VipGoodsEntity, BaseViewHolder>(R.layout
|
||||||
holder.setTextColor(R.id.tv_origin_price, getColor(R.color.color_a6acb5))
|
holder.setTextColor(R.id.tv_origin_price, getColor(R.color.color_a6acb5))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun startAnim(view: View) {
|
||||||
|
val lightTransAnim = ObjectAnimator.ofFloat(view, "translationX", -DensityUtils.dp2px(80f).toFloat(), DensityUtils.dp2px(80f).toFloat())
|
||||||
|
lightTransAnim.duration = 1500
|
||||||
|
lightTransAnim.repeatCount = -1
|
||||||
|
lightTransAnim.startDelay = 1500
|
||||||
|
lightTransAnim.addListener(onStart = {
|
||||||
|
view.visible()
|
||||||
|
})
|
||||||
|
lightTransAnim.start()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -45,23 +45,72 @@
|
||||||
android:background="@mipmap/ic_guide_item5_mask" />
|
android:background="@mipmap/ic_guide_item5_mask" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/layout_info"
|
android:id="@+id/layout_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/dp_65"
|
android:visibility="invisible"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:visibility="visible">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_25"
|
||||||
|
android:src="@mipmap/ic_guide_item_title_bg"
|
||||||
|
app:layout_constraintEnd_toEndOf="@id/tv_title"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/tv_title"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/tv_title" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_65"
|
||||||
|
android:shadowColor="#001C52"
|
||||||
|
android:shadowDy="2"
|
||||||
|
android:shadowRadius="2"
|
||||||
|
android:text="@string/app_name"
|
||||||
|
android:textColor="@color/color_e6ffff"
|
||||||
|
android:textSize="@dimen/sp_34"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/iv_desc"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
android:src="@mipmap/ic_guide_item5_desc"
|
||||||
|
app:layout_constraintEnd_toEndOf="@id/tv_title"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/tv_title"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tv_title" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:id="@+id/layout_info"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginStart="@dimen/dp_38"
|
||||||
|
android:layout_marginEnd="@dimen/dp_38"
|
||||||
|
android:background="@mipmap/ic_guide_item5_info_bg"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
app:layout_constraintBottom_toTopOf="@id/progressBar"
|
app:layout_constraintBottom_toTopOf="@id/progressBar"
|
||||||
|
app:layout_constraintDimensionRatio="h,298:172"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/layout_title"
|
||||||
tools:visibility="visible">
|
tools:visibility="visible">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/layout_city"
|
android:id="@+id/layout_city"
|
||||||
android:layout_width="@dimen/dp_180"
|
android:layout_width="@dimen/dp_180"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/dp_35"
|
android:layout_marginTop="@dimen/dp_26"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/tv_bid_count"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
@ -95,8 +144,9 @@
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="00000"
|
android:text="00000"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="44sp"
|
android:textSize="40sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/rv_industry"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/layout_city"
|
app:layout_constraintTop_toBottomOf="@id/layout_city"
|
||||||
|
|
@ -107,10 +157,10 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/dp_5"
|
android:layout_marginStart="@dimen/dp_5"
|
||||||
android:layout_marginBottom="@dimen/dp_10"
|
android:layout_marginBottom="@dimen/dp_6"
|
||||||
android:text="条"
|
android:text="条"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="@dimen/sp_16"
|
android:textSize="@dimen/sp_22"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/tv_bid_count"
|
app:layout_constraintBottom_toBottomOf="@id/tv_bid_count"
|
||||||
app:layout_constraintStart_toEndOf="@id/tv_bid_count" />
|
app:layout_constraintStart_toEndOf="@id/tv_bid_count" />
|
||||||
|
|
@ -119,8 +169,10 @@
|
||||||
android:id="@+id/rv_industry"
|
android:id="@+id/rv_industry"
|
||||||
android:layout_width="@dimen/dp_100"
|
android:layout_width="@dimen/dp_100"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="@dimen/dp_25"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_bid_count"
|
app:layout_constraintTop_toBottomOf="@id/tv_bid_count"
|
||||||
|
|
|
||||||
|
|
@ -19,25 +19,13 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
|
||||||
android:id="@+id/rv_user"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="@dimen/dp_70"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:visibility="invisible"
|
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:listitem="@layout/listitem_guide_vip_user"
|
|
||||||
tools:visibility="visible" />
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/layout_industry"
|
android:id="@+id/layout_industry"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/dp_18"
|
android:layout_marginTop="@dimen/dp_62"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
app:layout_constraintTop_toBottomOf="@id/rv_user"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:visibility="visible">
|
tools:visibility="visible">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
|
@ -427,17 +415,44 @@
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rv_user"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_18"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:visibility="invisible"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/layout_info"
|
||||||
|
tools:listitem="@layout/listitem_guide_vip_user"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rv_goods"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
|
android:layout_marginTop="@dimen/dp_24"
|
||||||
|
android:layout_marginEnd="12dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:visibility="invisible"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/rv_user"
|
||||||
|
tools:itemCount="3"
|
||||||
|
tools:listitem="@layout/listitem_guide_vip_goods"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/layout_countdown"
|
android:id="@+id/layout_countdown"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/dp_18"
|
android:layout_marginTop="@dimen/dp_20"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/layout_info"
|
app:layout_constraintTop_toBottomOf="@id/rv_goods"
|
||||||
tools:visibility="visible">
|
tools:visibility="visible">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|
@ -524,35 +539,21 @@
|
||||||
android:textSize="@dimen/sp_12" />
|
android:textSize="@dimen/sp_12" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
|
||||||
android:id="@+id/rv_goods"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/dp_12"
|
|
||||||
android:layout_marginTop="@dimen/dp_20"
|
|
||||||
android:layout_marginEnd="12dp"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:visibility="invisible"
|
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/layout_countdown"
|
|
||||||
tools:itemCount="3"
|
|
||||||
tools:listitem="@layout/listitem_guide_vip_goods"
|
|
||||||
tools:visibility="visible" />
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/layout_pay"
|
android:id="@+id/layout_pay"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/dp_12"
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
android:layout_marginTop="@dimen/dp_15"
|
android:layout_marginTop="@dimen/dp_20"
|
||||||
android:layout_marginEnd="@dimen/dp_12"
|
android:layout_marginEnd="@dimen/dp_12"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
app:layout_constraintTop_toBottomOf="@id/rv_goods"
|
app:layout_constraintTop_toBottomOf="@id/layout_countdown"
|
||||||
tools:visibility="visible">
|
tools:visibility="visible">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
android:background="@mipmap/ic_guide_vip_info_bg">
|
android:background="@mipmap/ic_guide_vip_info_bg">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|
@ -724,17 +725,33 @@
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/tv_pay"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:gravity="center"
|
|
||||||
android:text="立即订阅"
|
|
||||||
android:textColor="#04214F"
|
|
||||||
android:textSize="@dimen/sp_18"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/layout_price" />
|
app:layout_constraintStart_toEndOf="@id/layout_price"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_pay"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="立即购买"
|
||||||
|
android:paddingStart="@dimen/dp_5"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="@dimen/sp_18"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/iv_pay_light"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
app:layout_constraintDimensionRatio="w,41:46"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/tv_pay"
|
||||||
|
android:layout_marginStart="@dimen/dp_5"
|
||||||
|
android:src="@mipmap/ic_guide_vip_btn_light"
|
||||||
|
android:layout_height="match_parent"/>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
|
|
||||||
|
|
@ -67,10 +67,9 @@
|
||||||
android:layout_marginStart="@dimen/dp_19"
|
android:layout_marginStart="@dimen/dp_19"
|
||||||
android:layout_marginTop="@dimen/dp_15"
|
android:layout_marginTop="@dimen/dp_15"
|
||||||
android:layout_marginEnd="@dimen/dp_15"
|
android:layout_marginEnd="@dimen/dp_15"
|
||||||
android:layout_marginBottom="@dimen/dp_25"
|
|
||||||
android:overScrollMode="never"
|
android:overScrollMode="never"
|
||||||
|
android:paddingBottom="@dimen/dp_26"
|
||||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_name"
|
app:layout_constraintTop_toBottomOf="@id/tv_name"
|
||||||
app:spanCount="3"
|
app:spanCount="3"
|
||||||
tool:itemCount="18"
|
tool:itemCount="18"
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,8 @@
|
||||||
android:id="@+id/iv_check_all"
|
android:id="@+id/iv_check_all"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/dp_16"
|
android:layout_marginEnd="@dimen/dp_14"
|
||||||
|
android:padding="@dimen/dp_2"
|
||||||
android:src="@mipmap/ic_check_true"
|
android:src="@mipmap/ic_check_true"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/tv_name"
|
app:layout_constraintBottom_toBottomOf="@id/tv_name"
|
||||||
|
|
|
||||||
|
|
@ -12,5 +12,5 @@
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="44sp" />
|
android:textSize="32sp" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<?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"
|
<androidx.constraintlayout.widget.ConstraintLayout 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"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/root"
|
android:id="@+id/root"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
@ -52,24 +53,41 @@
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/tv_tag"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="-3dp"
|
|
||||||
android:background="@drawable/shape_vip_tag_bg"
|
|
||||||
android:drawableStart="@mipmap/ic_guide_vip_fire"
|
|
||||||
android:drawablePadding="@dimen/dp_1"
|
|
||||||
android:gravity="center"
|
|
||||||
android:paddingStart="@dimen/dp_6"
|
|
||||||
android:paddingTop="@dimen/dp_2"
|
|
||||||
android:paddingEnd="@dimen/dp_6"
|
|
||||||
android:paddingBottom="@dimen/dp_2"
|
|
||||||
android:text="限时优惠"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="@dimen/sp_10"
|
|
||||||
app:layout_constraintEnd_toEndOf="@id/layout_content"
|
app:layout_constraintEnd_toEndOf="@id/layout_content"
|
||||||
app:layout_constraintStart_toStartOf="@id/layout_content"
|
app:layout_constraintStart_toStartOf="@id/layout_content"
|
||||||
app:layout_constraintTop_toTopOf="@id/layout_content" />
|
app:layout_constraintTop_toTopOf="@id/layout_content"
|
||||||
|
android:layout_marginTop="-3dp"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_tag"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/shape_vip_tag_bg"
|
||||||
|
android:drawableStart="@mipmap/ic_guide_vip_fire"
|
||||||
|
android:drawablePadding="@dimen/dp_1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:paddingStart="@dimen/dp_6"
|
||||||
|
android:paddingTop="@dimen/dp_2"
|
||||||
|
android:paddingEnd="@dimen/dp_6"
|
||||||
|
android:paddingBottom="@dimen/dp_2"
|
||||||
|
android:text="限时优惠"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="@dimen/sp_10" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/iv_light"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:visibility="invisible"
|
||||||
|
tools:visibility="visible"
|
||||||
|
android:src="@mipmap/ic_guide_vip_goods_light"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/tv_tag"
|
||||||
|
app:layout_constraintDimensionRatio="w,1:1"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/tv_tag"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/tv_tag" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 8.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 5.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 946 B |
Loading…
Reference in New Issue