引导页修改完成
This commit is contained in:
parent
45b3738025
commit
b707c20cd6
|
|
@ -116,8 +116,7 @@ class LauncherActivity : BaseActivity() {
|
|||
LoginActivity.start(this@LauncherActivity)
|
||||
}
|
||||
} else {
|
||||
// startActivity<MainActivity>()
|
||||
startActivity<GuideActivity>()
|
||||
startActivity<MainActivity>()
|
||||
}
|
||||
finish()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import kotlin.math.ceil
|
|||
|
||||
class GuideItem3Adapter(val context: Context): RecyclerView.Adapter<BaseViewHolder>() {
|
||||
val data: MutableList<HotWordEntity.Child> = mutableListOf()
|
||||
private var showAnim = true
|
||||
|
||||
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 selectedList = if (hasOther) mAdapter.data else list
|
||||
GuideFragment.hotWordList.clear()
|
||||
selectedList.forEach {
|
||||
GuideFragment.hotWordList.addAll(it.children)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ class GuideItem4Fragment : BaseFragment<FragmentGuideItem4Binding, GuideViewMode
|
|||
toast("请选择地区")
|
||||
return@onClick
|
||||
}
|
||||
GuideFragment.cityList.addAll(selectList)
|
||||
val cityIds = selectList.map { it.id }
|
||||
val keywords = GuideFragment.keywordList.map { it.name }
|
||||
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.ui.BaseFragment
|
||||
import com.example.base.utils.DensityUtils
|
||||
import com.example.base.utils.ScreenUtils
|
||||
import com.google.gson.Gson
|
||||
import com.yy.mobile.rollingtextview.CharOrder
|
||||
import com.yy.mobile.rollingtextview.strategy.Strategy
|
||||
|
|
@ -47,6 +48,7 @@ class GuideItem5Fragment : BaseFragment<FragmentGuideItem5Binding, GuideViewMode
|
|||
|
||||
override fun initView() {
|
||||
super.initView()
|
||||
binding.tvTitle.typeface = Constants.pmzdbt
|
||||
binding.tvBidCount.typeface = Constants.ysbth
|
||||
binding.tvUnit.typeface = Constants.ysbth
|
||||
|
||||
|
|
@ -96,10 +98,17 @@ class GuideItem5Fragment : BaseFragment<FragmentGuideItem5Binding, GuideViewMode
|
|||
earthRotateAnim.repeatCount = -1
|
||||
earthRotateAnim.interpolator = LinearInterpolator()
|
||||
|
||||
val infoAlphaAnim = ObjectAnimator.ofFloat(binding.layoutInfo, "alpha", 0f, 1f)
|
||||
infoAlphaAnim.duration = 1000
|
||||
infoAlphaAnim.startDelay = 2400
|
||||
infoAlphaAnim.addListener(onStart = {
|
||||
val titleTransAnim = ObjectAnimator.ofFloat(binding.layoutTitle, "translationY", -ScreenUtils.getScreenHeight().toFloat() / 2, 0f)
|
||||
titleTransAnim.duration = 2000
|
||||
titleTransAnim.startDelay = 200
|
||||
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()
|
||||
}, onEnd = {
|
||||
startNumAnim()
|
||||
|
|
@ -130,7 +139,7 @@ class GuideItem5Fragment : BaseFragment<FragmentGuideItem5Binding, GuideViewMode
|
|||
})
|
||||
|
||||
val animSet = AnimatorSet()
|
||||
animSet.playTogether(bgTransAnim, star1TranAnim, star2TranAnim, earthTransAnim, earthRotateAnim, infoAlphaAnim, progressMaskAnim)
|
||||
animSet.playTogether(bgTransAnim, star1TranAnim, star2TranAnim, earthTransAnim, earthRotateAnim, titleTransAnim, infoTransAnim, progressMaskAnim)
|
||||
animSet.start()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@ import com.cheng.blzb.databinding.FragmentGuideVipBinding
|
|||
import com.cheng.blzb.event.OrderEvent
|
||||
import com.cheng.blzb.event.PayStatusEnum
|
||||
import com.cheng.blzb.event.PayStatusEvent
|
||||
import com.cheng.blzb.event.PaySuccessEvent
|
||||
import com.cheng.blzb.manager.DialogEnum
|
||||
import com.cheng.blzb.manager.EventReportManager
|
||||
import com.cheng.blzb.manager.LoginManager
|
||||
|
|
@ -91,7 +90,7 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
|||
private var totalPrice = 0f
|
||||
private var lastGoodsPrice = 0f
|
||||
|
||||
private val goodsAdapter by lazy { GuideVipAdapter() }
|
||||
private val goodsAdapter by lazy { GuideVipGoodsAdapter() }
|
||||
|
||||
private var goodsEntity: VipGoodsEntity? = null
|
||||
private var orderEntity: OrderPayEntity? = null
|
||||
|
|
@ -100,6 +99,7 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
|||
private var countdownDisposable: Disposable? = null
|
||||
private var scrollTask: Disposable? = null
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun initView() {
|
||||
super.initView()
|
||||
setStatusBarLight(false)
|
||||
|
|
@ -500,14 +500,14 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
|||
|
||||
val timeTransAnim = ObjectAnimator.ofFloat(binding.layoutCountdown, "translationY", ScreenUtils.getScreenHeight().toFloat(), 0f)
|
||||
timeTransAnim.duration = 1000
|
||||
timeTransAnim.startDelay = 1000
|
||||
timeTransAnim.startDelay = 1200
|
||||
timeTransAnim.addListener(onStart = {
|
||||
binding.layoutCountdown.visible()
|
||||
})
|
||||
|
||||
val goodsTransAnim = ObjectAnimator.ofFloat(binding.rvGoods, "translationY", ScreenUtils.getScreenHeight().toFloat(), 0f)
|
||||
goodsTransAnim.duration = 1000
|
||||
goodsTransAnim.startDelay = 1200
|
||||
goodsTransAnim.startDelay = 1000
|
||||
goodsTransAnim.addListener(onStart = {
|
||||
binding.rvGoods.visible()
|
||||
})
|
||||
|
|
@ -526,6 +526,14 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
|||
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()
|
||||
animSet.playTogether(
|
||||
closeAlphaAnim,
|
||||
|
|
@ -536,7 +544,8 @@ class GuideVipFragment: BaseFragment<FragmentGuideVipBinding, GuideVipViewModel>
|
|||
timeTransAnim,
|
||||
goodsTransAnim,
|
||||
payTypeTransAnim,
|
||||
payBtnTransAnim
|
||||
payBtnTransAnim,
|
||||
payLightTransAnim
|
||||
)
|
||||
animSet.start()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
package com.cheng.blzb.ui.fragment.guide.vip
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.util.TypedValue
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.animation.addListener
|
||||
import androidx.core.graphics.toColorInt
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
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.common.Constants
|
||||
import com.example.base.extensions.getColor
|
||||
import com.example.base.extensions.visible
|
||||
import com.example.base.utils.DensityUtils
|
||||
import com.example.base.utils.SpanUtils
|
||||
import com.flyjingfish.gradienttextviewlib.GradientTextView
|
||||
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) {
|
||||
holder.setGone(R.id.tv_tag, true)
|
||||
holder.setGone(R.id.iv_light, true)
|
||||
if (item.tips.isNotEmpty()) {
|
||||
holder.setVisible(R.id.tv_tag, true)
|
||||
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)
|
||||
|
|
@ -79,4 +85,15 @@ class GuideVipAdapter: BaseQuickAdapter<VipGoodsEntity, BaseViewHolder>(R.layout
|
|||
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" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/layout_info"
|
||||
android:id="@+id/layout_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
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_marginBottom="@dimen/dp_65"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toTopOf="@id/progressBar"
|
||||
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"
|
||||
app:layout_constraintBottom_toTopOf="@id/progressBar"
|
||||
app:layout_constraintDimensionRatio="h,298:172"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/layout_title"
|
||||
tools:visibility="visible">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layout_city"
|
||||
android:layout_width="@dimen/dp_180"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_35"
|
||||
android:layout_marginTop="@dimen/dp_26"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintBottom_toTopOf="@id/tv_bid_count"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
|
@ -95,8 +144,9 @@
|
|||
android:gravity="center"
|
||||
android:text="00000"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="44sp"
|
||||
android:textSize="40sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@id/rv_industry"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/layout_city"
|
||||
|
|
@ -107,10 +157,10 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_5"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:layout_marginBottom="@dimen/dp_6"
|
||||
android:text="条"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:textSize="@dimen/sp_22"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_bid_count"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_bid_count" />
|
||||
|
|
@ -119,8 +169,10 @@
|
|||
android:id="@+id/rv_industry"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/dp_25"
|
||||
android:orientation="horizontal"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bid_count"
|
||||
|
|
|
|||
|
|
@ -19,25 +19,13 @@
|
|||
android:layout_width="match_parent"
|
||||
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
|
||||
android:id="@+id/layout_industry"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_18"
|
||||
android:layout_marginTop="@dimen/dp_62"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintTop_toBottomOf="@id/rv_user"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="visible">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
|
|
@ -427,17 +415,44 @@
|
|||
|
||||
</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
|
||||
android:id="@+id/layout_countdown"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_18"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/layout_info"
|
||||
app:layout_constraintTop_toBottomOf="@id/rv_goods"
|
||||
tools:visibility="visible">
|
||||
|
||||
<TextView
|
||||
|
|
@ -524,35 +539,21 @@
|
|||
android:textSize="@dimen/sp_12" />
|
||||
</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
|
||||
android:id="@+id/layout_pay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
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:visibility="invisible"
|
||||
app:layout_constraintTop_toBottomOf="@id/rv_goods"
|
||||
app:layout_constraintTop_toBottomOf="@id/layout_countdown"
|
||||
tools:visibility="visible">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:background="@mipmap/ic_guide_vip_info_bg">
|
||||
|
||||
<TextView
|
||||
|
|
@ -724,17 +725,33 @@
|
|||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="0dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/layout_price"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_pay"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:text="立即订阅"
|
||||
android:textColor="#04214F"
|
||||
android:text="立即购买"
|
||||
android:paddingStart="@dimen/dp_5"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_18"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/layout_price" />
|
||||
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.appcompat.widget.AppCompatImageView
|
||||
|
|
|
|||
|
|
@ -67,10 +67,9 @@
|
|||
android:layout_marginStart="@dimen/dp_19"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:layout_marginBottom="@dimen/dp_25"
|
||||
android:overScrollMode="never"
|
||||
android:paddingBottom="@dimen/dp_26"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_name"
|
||||
app:spanCount="3"
|
||||
tool:itemCount="18"
|
||||
|
|
|
|||
|
|
@ -21,7 +21,8 @@
|
|||
android:id="@+id/iv_check_all"
|
||||
android:layout_width="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"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_name"
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@
|
|||
android:layout_gravity="center"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="44sp" />
|
||||
android:textSize="32sp" />
|
||||
</FrameLayout>
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
<?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:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
|
@ -52,11 +53,18 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="@id/layout_content"
|
||||
app:layout_constraintStart_toStartOf="@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="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-3dp"
|
||||
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"
|
||||
|
|
@ -67,9 +75,19 @@
|
|||
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_constraintStart_toStartOf="@id/layout_content"
|
||||
app:layout_constraintTop_toTopOf="@id/layout_content" />
|
||||
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>
|
||||
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