Commit 772867a7 authored by 王雪伟's avatar 王雪伟

[提交人]:王雪伟

[提交简述] :小象省钱
[实现方案] :显示折扣
parent 23386ae3
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
//底部 //底部
<string name="shop">商城</string> <string name="shop">商城</string>
<string name="box">盲盒</string> <string name="box">盲盒</string>
<string name="bottom_vip">会员权益</string>
<string name="recycle_center">回收中心</string> <string name="recycle_center">回收中心</string>
<string name="mine">我的</string> <string name="mine">我的</string>
<string name="ware_house">仓库</string> <string name="ware_house">仓库</string>
......
...@@ -47,7 +47,7 @@ dependencies { ...@@ -47,7 +47,7 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
//banner //banner
implementation 'com.github.zhpanvip:viewpagerindicator:1.2.1' implementation 'com.github.zhpanvip:viewpagerindicator:1.2.1'
implementation 'com.github.zhpanvip:bannerviewpager:3.5.5' // implementation 'com.github.zhpanvip:bannerviewpager:3.5.5'
//刷新 核心必须依赖 //刷新 核心必须依赖
implementation 'io.github.scwang90:refresh-layout-kernel:2.0.5' implementation 'io.github.scwang90:refresh-layout-kernel:2.0.5'
implementation 'io.github.scwang90:refresh-header-classics:2.0.5' //经典刷新头 implementation 'io.github.scwang90:refresh-header-classics:2.0.5' //经典刷新头
......
...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.activity ...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.activity
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.viewpager.widget.ViewPager
import androidx.viewpager2.widget.ViewPager2 import androidx.viewpager2.widget.ViewPager2
import com.zxbw.modulemain.R import com.zxbw.modulemain.R
import com.zxbw.modulemain.adapter.DetailBannerAdapter import com.zxbw.modulemain.adapter.DetailBannerAdapter
...@@ -78,19 +79,29 @@ class TbGoodsDetailActivity : BaseActivity(), TbGoodsDetailContract.View { ...@@ -78,19 +79,29 @@ class TbGoodsDetailActivity : BaseActivity(), TbGoodsDetailContract.View {
id_tv_goods_name?.text = goodsDetail?.title id_tv_goods_name?.text = goodsDetail?.title
var mList = listOf<String>("") if (!goodsDetail?.small_images.isNullOrEmpty()) {
id_detail_top_banner.apply { var mPagerAdapter = DetailBannerAdapter(goodsDetail?.small_images!!)
adapter = DetailBannerAdapter() id_detail_top_banner.adapter = mPagerAdapter
setLifecycleRegistry(lifecycle) id_tv_vp_index.text = "${1}/${goodsDetail?.small_images?.size ?: 0 + 1}"
}.create((goodsDetail?.small_images ?:mList) as List<Nothing>?) id_detail_top_banner.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrolled(
id_detail_top_banner.registerOnPageChangeCallback(object : position: Int,
ViewPager2.OnPageChangeCallback() { positionOffset: Float,
override fun onPageSelected(position: Int) { positionOffsetPixels: Int
Log.e("MXL", "" + position) ) {
id_tv_vp_index.text = "${position + 1}/${goodsDetail?.small_images?.size ?: 0 + 1}"
} }
})
override fun onPageSelected(position: Int) {
id_tv_vp_index.text =
"${position + 1}/${goodsDetail?.small_images?.size ?: 0 + 1}"
}
override fun onPageScrollStateChanged(state: Int) {
}
})
}
} }
override fun onClick(v: View?) { override fun onClick(v: View?) {
......
package com.zxbw.modulemain.adapter package com.zxbw.modulemain.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import androidx.viewpager.widget.PagerAdapter
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.zhpan.bannerview.BaseBannerAdapter
import com.zhpan.bannerview.BaseViewHolder
import com.zxbw.modulemain.R import com.zxbw.modulemain.R
import com.zxhl.cms.AppContext
import java.util.ArrayList
/** /**
* @author (wangXuewei) * @author (wangXuewei)
* @datetime 2022-05-26 22:30 GMT+8 * @datetime 2022-05-26 22:30 GMT+8
* @detail : * @detail :
*/ */
class DetailBannerAdapter() : BaseBannerAdapter<String>() { class DetailBannerAdapter : PagerAdapter {
override fun bindData( private var mViewList: List<String> = ArrayList()
holder: BaseViewHolder<String>?,
data: String?, constructor(
position: Int, mList: List<String>
pageSize: Int ) : super() {
) { mViewList = mList //构造方法,参数是我们的页卡,这样比较方便。
var imageView = holder?.findViewById<ImageView>(R.id.id_img_detail_banner_bg) as ImageView }
// if (mContext?.isFinishing==false){
// Glide.with(mContext!!)
// .load(data) override fun isViewFromObject(p0: View, p1: Any): Boolean {
// .into(imageView) return p0 == p1
// } }
Glide.with(imageView)
.load(data)
.placeholder(R.drawable.beijing) override fun instantiateItem(container: ViewGroup, position: Int): Any {
.into(imageView); val data = mViewList[position]
val view = LayoutInflater.from(AppContext.get()).inflate(R.layout.item_layout_detail_banner, null)
val bg = view.findViewById<ImageView>(R.id.id_img_detail_banner_bg)
Glide.with(AppContext.get()).load(data).into(bg)
container.addView(view)// 添加页卡
return view
}
override fun getItemPosition(`object`: Any): Int {
return super.getItemPosition(`object`)
} }
override fun getLayoutId(viewType: Int): Int { override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
return R.layout.item_layout_detail_banner
container.removeView(`object` as View)
}
override fun getCount(): Int {
return mViewList.size
} }
} }
\ No newline at end of file
...@@ -49,7 +49,12 @@ class HomeQyBannerAdapter : PagerAdapter { ...@@ -49,7 +49,12 @@ class HomeQyBannerAdapter : PagerAdapter {
OnRecycleItemClickListener<JgqQyEntity> { view, position, data -> OnRecycleItemClickListener<JgqQyEntity> { view, position, data ->
JumpUtils.RightsDetailJump(data.brand, data.icon) JumpUtils.RightsDetailJump(data.brand, data.icon)
}) })
grid_view.layoutManager = GridLayoutManager(mActivity, 5) val manager = GridLayoutManager(mActivity, 5)
manager.isSmoothScrollbarEnabled = true;
grid_view.setHasFixedSize(true);
grid_view.isNestedScrollingEnabled = false;
grid_view.layoutManager = manager
grid_view.adapter = mJgqQyAdapter grid_view.adapter = mJgqQyAdapter
mJgqQyAdapter.clear() mJgqQyAdapter.clear()
mJgqQyAdapter.appendToList(data) mJgqQyAdapter.appendToList(data)
......
...@@ -112,7 +112,6 @@ class HomeRecommendAdapter : BaseRecyclerAdapter<TbGoodsItemEntity, RecyclerView ...@@ -112,7 +112,6 @@ class HomeRecommendAdapter : BaseRecyclerAdapter<TbGoodsItemEntity, RecyclerView
if (i < splitNum - 1) { if (i < splitNum - 1) {
value = mQyDataList?.subList(i * splitItemNum, (i + 1) * splitItemNum) value = mQyDataList?.subList(i * splitItemNum, (i + 1) * splitItemNum)
} else { } else {
// 最后一组
value = mQyDataList?.subList(i * splitItemNum, mQyDataList?.size!!) value = mQyDataList?.subList(i * splitItemNum, mQyDataList?.size!!)
} }
if (value != null) { if (value != null) {
......
...@@ -8,6 +8,7 @@ import android.view.View ...@@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.RelativeLayout
import android.widget.TextView import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
...@@ -40,7 +41,8 @@ class JgqQyAdapter : BaseRecyclerAdapter<JgqQyEntity, JgqQyAdapter.ViewHolder> { ...@@ -40,7 +41,8 @@ class JgqQyAdapter : BaseRecyclerAdapter<JgqQyEntity, JgqQyAdapter.ViewHolder> {
.apply(RequestOptions.bitmapTransform(CircleCrop())) .apply(RequestOptions.bitmapTransform(CircleCrop()))
.into(holder?.id_icon!!) .into(holder?.id_icon!!)
holder.id_name?.text = bean.brand holder.id_name?.text = bean.brand
holder.id_ll_qy_item_view?.setOnClickListener { holder.id_tv_discount_value?.text = "${bean.maxDiscount}折"
holder.id_rl_qy_item_view?.setOnClickListener {
listener.onItemClick(it, position, bean) listener.onItemClick(it, position, bean)
} }
} }
...@@ -53,18 +55,21 @@ class JgqQyAdapter : BaseRecyclerAdapter<JgqQyEntity, JgqQyAdapter.ViewHolder> { ...@@ -53,18 +55,21 @@ class JgqQyAdapter : BaseRecyclerAdapter<JgqQyEntity, JgqQyAdapter.ViewHolder> {
} }
class ViewHolder : RecyclerView.ViewHolder { class ViewHolder : RecyclerView.ViewHolder {
var id_ll_qy_item_view: LinearLayout? var id_rl_qy_item_view: RelativeLayout?
var id_icon: ImageView? var id_icon: ImageView?
var id_name: TextView? var id_name: TextView?
var id_tv_discount_value: TextView?
constructor( constructor(
itemView: View itemView: View
) : super(itemView) { ) : super(itemView) {
id_ll_qy_item_view = itemView.findViewById<LinearLayout>(R.id.id_ll_qy_item_view) id_rl_qy_item_view = itemView.findViewById<RelativeLayout>(R.id.id_rl_qy_item_view)
id_icon = id_icon =
itemView.findViewById<ImageView>(R.id.id_img_qy_icon) itemView.findViewById<ImageView>(R.id.id_img_qy_icon)
id_name = id_name =
itemView.findViewById<TextView>(R.id.id_tv_qy_name) itemView.findViewById<TextView>(R.id.id_tv_qy_name)
id_tv_discount_value =
itemView.findViewById<TextView>(R.id.id_tv_discount_value)
} }
......
...@@ -36,8 +36,8 @@ class NavigationBottomView : RelativeLayout { ...@@ -36,8 +36,8 @@ class NavigationBottomView : RelativeLayout {
mShopText = findViewById(R.id.id_view_navigation_bottom_box) mShopText = findViewById(R.id.id_view_navigation_bottom_box)
mUserText = findViewById(R.id.id_view_navigation_bottom_user) mUserText = findViewById(R.id.id_view_navigation_bottom_user)
mShopText?.setOnClickListener { mShopText?.setOnClickListener {
mUserText?.setTextColor(resources.getColor(R.color.color_333333)) mUserText?.setTextColor(resources.getColor(R.color.color_999999))
mShopText?.setTextColor(resources.getColor(R.color.color_4c84ff)) mShopText?.setTextColor(resources.getColor(R.color.color_333333))
val userDrawable = getResources().getDrawable(R.drawable.icon_bottom_my_default) val userDrawable = getResources().getDrawable(R.drawable.icon_bottom_my_default)
userDrawable.setBounds( userDrawable.setBounds(
0, 0,
...@@ -59,8 +59,8 @@ class NavigationBottomView : RelativeLayout { ...@@ -59,8 +59,8 @@ class NavigationBottomView : RelativeLayout {
navifationCallback?.onNavigationClick(it.id) navifationCallback?.onNavigationClick(it.id)
} }
mUserText?.setOnClickListener { mUserText?.setOnClickListener {
mUserText?.setTextColor(resources.getColor(R.color.color_4c84ff)) mShopText?.setTextColor(resources.getColor(R.color.color_999999))
mShopText?.setTextColor(resources.getColor(R.color.color_333333)) mUserText?.setTextColor(resources.getColor(R.color.color_333333))
val userDrawable = getResources().getDrawable(R.drawable.icon_bottom_my_click) val userDrawable = getResources().getDrawable(R.drawable.icon_bottom_my_click)
userDrawable.setBounds( userDrawable.setBounds(
0, 0,
......
...@@ -107,14 +107,10 @@ ...@@ -107,14 +107,10 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="360dp"> android:layout_height="360dp">
<com.zhpan.bannerview.BannerViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/id_detail_top_banner" android:id="@+id/id_detail_top_banner"
android:layout_width="match_parent" android:layout_width="match_parent"
app:bvp_can_loop="false" android:layout_height="wrap_content"/>
app:bvp_indicator_visibility="gone"
app:bvp_auto_play="false"
android:layout_height="match_parent"/>
<TextView <TextView
android:id="@+id/id_tv_vp_index" android:id="@+id/id_tv_vp_index"
......
...@@ -2,13 +2,14 @@ ...@@ -2,13 +2,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/id_ll_detail_item" android:id="@+id/id_ll_detail_item"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/id_img_detail_banner_bg" android:id="@+id/id_img_detail_banner_bg"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:scaleType="centerCrop" /> android:adjustViewBounds="true"
android:scaleType="fitXY" />
</LinearLayout> </LinearLayout>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginBottom="10dp" android:layout_marginTop="10dp"
android:layout_marginLeft="15dp" android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" android:layout_marginRight="15dp"
android:background="@drawable/shape_ffffff_r10" android:background="@drawable/shape_ffffff_r10"
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/id_rcl_home_jgq_qy_grid_list" android:id="@+id/id_rcl_home_jgq_qy_grid_list"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</RelativeLayout> </RelativeLayout>
\ No newline at end of file
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginBottom="20dp"
android:background="@color/white" android:background="@color/white"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:orientation="horizontal"> android:orientation="horizontal">
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/id_ll_qy_item_view" android:id="@+id/id_rl_qy_item_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
android:gravity="center_horizontal"
android:orientation="vertical"> android:orientation="vertical">
<ImageView <ImageView
android:id="@+id/id_img_qy_icon" android:id="@+id/id_img_qy_icon"
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" /> android:layout_height="40dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp" />
<TextView <TextView
android:id="@+id/id_tv_qy_name" android:id="@+id/id_tv_qy_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/id_img_qy_icon"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:text="" android:text=""
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> <TextView
\ No newline at end of file android:id="@+id/id_tv_discount_value"
android:layout_width="wrap_content"
android:layout_height="18dp"
android:layout_alignTop="@id/id_img_qy_icon"
android:layout_marginLeft="-20dp"
android:layout_marginTop="-15dp"
android:layout_toEndOf="@id/id_img_qy_icon"
android:background="@drawable/img_zekou_label_bg"
android:gravity="center"
android:text="1.1折"
android:textColor="@color/white"
android:textSize="12sp" />
</RelativeLayout>
\ No newline at end of file
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="会员月卡" android:text="会员月卡"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:textColor="@color/color_999999" android:textColor="@color/color_999999"
android:textSize="12sp" /> android:textSize="12sp" />
......
...@@ -21,9 +21,10 @@ ...@@ -21,9 +21,10 @@
android:drawableTop="@drawable/icon_bottom_shop_click" android:drawableTop="@drawable/icon_bottom_shop_click"
android:drawablePadding="2dp" android:drawablePadding="2dp"
android:gravity="center" android:gravity="center"
android:textStyle="bold"
android:includeFontPadding="false" android:includeFontPadding="false"
android:text="@string/box" android:text="@string/bottom_vip"
android:textColor="@color/color_4c84ff" android:textColor="@color/color_333333"
android:textSize="11sp" /> android:textSize="11sp" />
<TextView <TextView
...@@ -34,9 +35,10 @@ ...@@ -34,9 +35,10 @@
android:layout_weight="1" android:layout_weight="1"
android:drawableTop="@drawable/icon_bottom_my_default" android:drawableTop="@drawable/icon_bottom_my_default"
android:drawablePadding="2dp" android:drawablePadding="2dp"
android:textStyle="bold"
android:gravity="center" android:gravity="center"
android:text="@string/mine" android:text="@string/mine"
android:textColor="@color/color_333333" android:textColor="@color/color_999999"
android:textSize="11sp" /> android:textSize="11sp" />
</LinearLayout> </LinearLayout>
</merge> </merge>
\ No newline at end of file
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