diff --git a/app/src/main/java/com/cheng/blzb/ui/activity/LauncherActivity.kt b/app/src/main/java/com/cheng/blzb/ui/activity/LauncherActivity.kt index ca0055b..41cc61f 100644 --- a/app/src/main/java/com/cheng/blzb/ui/activity/LauncherActivity.kt +++ b/app/src/main/java/com/cheng/blzb/ui/activity/LauncherActivity.kt @@ -116,8 +116,7 @@ class LauncherActivity : BaseActivity() { LoginActivity.start(this@LauncherActivity) } } else { -// startActivity() - startActivity() + startActivity() } finish() } diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem3Adapter.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem3Adapter.kt index 86e4cbd..825e1c3 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem3Adapter.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem3Adapter.kt @@ -21,6 +21,7 @@ import kotlin.math.ceil class GuideItem3Adapter(val context: Context): RecyclerView.Adapter() { val data: MutableList = mutableListOf() + private var showAnim = true private var mOnKeywordClickListener: ((keyword: HotWordEntity.Child) -> Unit)? = null diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/item/GuideItem2Fragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/item/GuideItem2Fragment.kt index 8cdfdf4..d6d7cf5 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/item/GuideItem2Fragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/item/GuideItem2Fragment.kt @@ -61,6 +61,7 @@ class GuideItem2Fragment : BaseFragment 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 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 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 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 timeTransAnim, goodsTransAnim, payTypeTransAnim, - payBtnTransAnim + payBtnTransAnim, + payLightTransAnim ) animSet.start() } diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipAdapter.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipGoodsAdapter.kt similarity index 83% rename from app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipAdapter.kt rename to app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipGoodsAdapter.kt index 95216a0..39f7b5a 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipAdapter.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/vip/GuideVipGoodsAdapter.kt @@ -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(R.layout.listitem_guide_vip_goods) { +class GuideVipGoodsAdapter: BaseQuickAdapter(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(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() + } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_guide_item5.xml b/app/src/main/res/layout/fragment_guide_item5.xml index 06a2d33..c741775 100644 --- a/app/src/main/res/layout/fragment_guide_item5.xml +++ b/app/src/main/res/layout/fragment_guide_item5.xml @@ -45,23 +45,72 @@ android:background="@mipmap/ic_guide_item5_mask" /> + + + + + + + + + + @@ -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" diff --git a/app/src/main/res/layout/fragment_guide_vip.xml b/app/src/main/res/layout/fragment_guide_vip.xml index dbf1eb9..69cc81b 100644 --- a/app/src/main/res/layout/fragment_guide_vip.xml +++ b/app/src/main/res/layout/fragment_guide_vip.xml @@ -19,25 +19,13 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - + + + + - - - + app:layout_constraintStart_toEndOf="@id/layout_price" + android:layout_height="match_parent"> + + + + + + + android:textSize="32sp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_guide_vip_goods.xml b/app/src/main/res/layout/listitem_guide_vip_goods.xml index db3166a..ab48f0b 100644 --- a/app/src/main/res/layout/listitem_guide_vip_goods.xml +++ b/app/src/main/res/layout/listitem_guide_vip_goods.xml @@ -1,6 +1,7 @@ @@ -52,24 +53,41 @@ - + app:layout_constraintTop_toTopOf="@id/layout_content" + android:layout_marginTop="-3dp" + android:layout_height="wrap_content"> + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item5_desc.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item5_desc.webp new file mode 100644 index 0000000..5a4eba2 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item5_desc.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item5_info_bg.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item5_info_bg.webp new file mode 100644 index 0000000..3ee69ae Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item5_info_bg.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_btn_bg.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_btn_bg.webp index 2d33718..06d9510 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_btn_bg.webp and b/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_btn_bg.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_btn_light.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_btn_light.webp new file mode 100644 index 0000000..a054a14 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_btn_light.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_goods_light.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_goods_light.webp new file mode 100644 index 0000000..111ed9c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_vip_goods_light.webp differ