Commit 91327705 authored by maxiaoliang's avatar maxiaoliang

添加首页bannaer位置

parent 5bb4faff
...@@ -32,8 +32,7 @@ ...@@ -32,8 +32,7 @@
android:layout_above="@+id/id_activity_main_fragment_navigation" android:layout_above="@+id/id_activity_main_fragment_navigation"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:layout_marginBottom="100dp" android:layout_marginBottom="100dp" />
android:src="@drawable/icon_head_defalt" />
<View <View
......
PACKAGE_NAME=com.zxhl.shop PACKAGE_NAME=com.zxhl.shop
VERSION_CODE=27 VERSION_CODE=28
VERSION_NAME=1.2.6 VERSION_NAME=1.2.7
\ No newline at end of file \ No newline at end of file
...@@ -284,6 +284,7 @@ public class NetConfig { ...@@ -284,6 +284,7 @@ public class NetConfig {
public static final String XX_GOODS_FETCHALL_CARD = "app/v1/game/xiaoxiang/fetchAllCard";//话费券列表 public static final String XX_GOODS_FETCHALL_CARD = "app/v1/game/xiaoxiang/fetchAllCard";//话费券列表
public static final String XX_GOODS_VIDEO_AD_INFO = "app/v1/game/xiaoxiang/videoAdInfo";//获取激励视频奖励信息 public static final String XX_GOODS_VIDEO_AD_INFO = "app/v1/game/xiaoxiang/videoAdInfo";//获取激励视频奖励信息
public static final String XX_GOODS_VIDEO_REWARD = "app/v1/game/xiaoxiang/videoAward";//激励视频播放以后调用保存话费券 public static final String XX_GOODS_VIDEO_REWARD = "app/v1/game/xiaoxiang/videoAward";//激励视频播放以后调用保存话费券
public static final String XX_GOODS_HOME_AD_INFO = "app/v1/game/xiaoxiang/ads";//首页广告信息
} }
public static class FlashSale { public static class FlashSale {
......
...@@ -14,6 +14,7 @@ import com.zxhl.cms.net.model.qy.TbGoodsEntity ...@@ -14,6 +14,7 @@ import com.zxhl.cms.net.model.qy.TbGoodsEntity
import com.zxhl.cms.net.model.qy.SkillEntity import com.zxhl.cms.net.model.qy.SkillEntity
import com.zxhl.cms.net.model.uc.UserInfo import com.zxhl.cms.net.model.uc.UserInfo
import com.zxhl.cms.net.model.uc.VersionEntity import com.zxhl.cms.net.model.uc.VersionEntity
import com.zxhl.cms.net.model.video.HomeAdEntity
import com.zxhl.cms.net.model.video.VideoInfoEntity import com.zxhl.cms.net.model.video.VideoInfoEntity
import io.reactivex.Observable import io.reactivex.Observable
import okhttp3.ResponseBody import okhttp3.ResponseBody
...@@ -416,4 +417,7 @@ interface IHomeApi { ...@@ -416,4 +417,7 @@ interface IHomeApi {
@POST(NetConfig.QY.XX_GOODS_VIDEO_REWARD) @POST(NetConfig.QY.XX_GOODS_VIDEO_REWARD)
fun getVideoReward(): Observable<Response<VideoInfoEntity>> fun getVideoReward(): Observable<Response<VideoInfoEntity>>
@GET(NetConfig.QY.XX_GOODS_HOME_AD_INFO)
fun getHomeAdInfo(): Observable<Response<List<HomeAdEntity>>>
} }
\ No newline at end of file
package com.zxhl.cms.net.model.video
class HomeAdEntity {
var id: String? = ""
var title: String? = ""
var imgUrl: String? = ""
var url: String? = ""
var slotName: String? = ""
}
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.contract ...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.contract
import com.zxhl.cms.net.model.box.TabEntity import com.zxhl.cms.net.model.box.TabEntity
import com.zxhl.cms.net.model.qy.CouponsEntity import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.qy.HomeBannerEntity import com.zxhl.cms.net.model.qy.HomeBannerEntity
import com.zxhl.cms.net.model.video.HomeAdEntity
/** /**
* 主页 * 主页
...@@ -13,11 +14,13 @@ class HomeContract { ...@@ -13,11 +14,13 @@ class HomeContract {
fun setBannerList(result: List<HomeBannerEntity>?) fun setBannerList(result: List<HomeBannerEntity>?)
fun setTabList(list: List<TabEntity>?) fun setTabList(list: List<TabEntity>?)
fun setCouponsList(result: List<CouponsEntity>?) fun setCouponsList(result: List<CouponsEntity>?)
fun setAdBanner(result: List<HomeAdEntity>?)
} }
interface Presenter { interface Presenter {
fun getBannerList() fun getBannerList()
fun getTabList() fun getTabList()
fun getFetchCard() fun getFetchCard()
fun getAdInfo()
} }
} }
\ No newline at end of file
...@@ -5,11 +5,15 @@ import android.text.TextUtils ...@@ -5,11 +5,15 @@ import android.text.TextUtils
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CircleCrop
import com.bumptech.glide.request.RequestOptions
import com.zxbw.modulemain.R import com.zxbw.modulemain.R
import com.zxbw.modulemain.adapter.HomeBannerAdapter import com.zxbw.modulemain.adapter.HomeBannerAdapter
import com.zxbw.modulemain.contract.HomeContract import com.zxbw.modulemain.contract.HomeContract
import com.zxbw.modulemain.presenter.HomePresenter import com.zxbw.modulemain.presenter.HomePresenter
import com.zxbw.modulemain.view.DialogUtils import com.zxbw.modulemain.view.DialogUtils
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.Constant import com.zxhl.cms.common.Constant
import com.zxhl.cms.common.FragmentAdapter import com.zxhl.cms.common.FragmentAdapter
import com.zxhl.cms.common.NetConfig import com.zxhl.cms.common.NetConfig
...@@ -19,6 +23,8 @@ import com.zxhl.cms.net.SettingPreference ...@@ -19,6 +23,8 @@ import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.model.box.TabEntity import com.zxhl.cms.net.model.box.TabEntity
import com.zxhl.cms.net.model.qy.CouponsEntity import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.qy.HomeBannerEntity import com.zxhl.cms.net.model.qy.HomeBannerEntity
import com.zxhl.cms.net.model.video.HomeAdEntity
import com.zxhl.cms.utils.EventUtils
import com.zxhl.cms.utils.JumpUtils import com.zxhl.cms.utils.JumpUtils
import com.zxhl.cms.utils.UpdateCallback import com.zxhl.cms.utils.UpdateCallback
import com.zxhl.cms.utils.Utils import com.zxhl.cms.utils.Utils
...@@ -40,7 +46,7 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback { ...@@ -40,7 +46,7 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
override fun lazyLoad() { override fun lazyLoad() {
super.lazyLoad() super.lazyLoad()
if (isInitial && isVisible) { if (isInitial && isVisible) {
mPresenter?.getAdInfo()
} }
} }
...@@ -49,10 +55,16 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback { ...@@ -49,10 +55,16 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
updateVersionManager?.checkUpdate(true) updateVersionManager?.checkUpdate(true)
var statusBarHeight = ScreenUtils.getStatusBarHeight() var statusBarHeight = ScreenUtils.getStatusBarHeight()
if (statusBarHeight <= 0) { if (statusBarHeight <= 0) {
statusBarHeight = 40; statusBarHeight = 40
} }
id_title_sys_bar_view.layoutParams.height = statusBarHeight id_title_sys_bar_view.layoutParams.height = statusBarHeight
id_img_banner?.setOnClickListener {
if(!TextUtils.isEmpty(clickUrl)){
EventUtils.onEvent("ad_click",""+clickid)
JumpUtils.webJump(adName, clickUrl)
}
}
mPresenter = HomePresenter(this) mPresenter = HomePresenter(this)
id_rl_search_view.setOnClickListener { id_rl_search_view.setOnClickListener {
...@@ -148,8 +160,8 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback { ...@@ -148,8 +160,8 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
} }
override fun setCouponsList(result: List<CouponsEntity>?) { override fun setCouponsList(result: List<CouponsEntity>?) {
if(!result.isNullOrEmpty()){ if (!result.isNullOrEmpty()) {
if(TextUtils.equals(SettingPreference.getifShowCoups(),"0")){ if (TextUtils.equals(SettingPreference.getifShowCoups(), "0")) {
DialogUtils.showifshowCoup(mActivity, result, View.OnClickListener { DialogUtils.showifshowCoup(mActivity, result, View.OnClickListener {
JumpUtils.RechargeJump() JumpUtils.RechargeJump()
}) })
...@@ -159,6 +171,30 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback { ...@@ -159,6 +171,30 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
} }
var imgUrl: String? = ""
var clickid: String? = ""
var clickUrl: String? = ""
var adName:String?=""
override fun setAdBanner(result: List<HomeAdEntity>?) {
if (!result.isNullOrEmpty()) {
for (item in result) {
if (item.slotName.equals("banner")) {
imgUrl = item.imgUrl
clickid = item.id
clickUrl = item.url
adName=item.title
Glide.with(AppContext.get()).asGif().load(imgUrl).into(id_img_banner!!)
// Glide.with(this).load(imgUrl)
// .apply(RequestOptions.bitmapTransform(CircleCrop()))
// .into(id_img_banner!!)
}
}
}
}
override fun CheckUpate(boolean: Boolean) { override fun CheckUpate(boolean: Boolean) {
Log.e("MXL", "更新:" + boolean) Log.e("MXL", "更新:" + boolean)
if (Constant.Switch.isOpenVip) { if (Constant.Switch.isOpenVip) {
......
...@@ -18,6 +18,7 @@ import com.zxhl.cms.net.model.qy.HomeBannerEntity ...@@ -18,6 +18,7 @@ import com.zxhl.cms.net.model.qy.HomeBannerEntity
import com.zxhl.cms.net.model.qy.JgqQyEntity import com.zxhl.cms.net.model.qy.JgqQyEntity
import com.zxhl.cms.net.model.qy.TbGoodsEntity import com.zxhl.cms.net.model.qy.TbGoodsEntity
import com.zxhl.cms.net.model.uc.UserInfo import com.zxhl.cms.net.model.uc.UserInfo
import com.zxhl.cms.net.model.video.HomeAdEntity
import com.zxhl.cms.utils.EventUtils import com.zxhl.cms.utils.EventUtils
import com.zxhl.cms.utils.UserDataUtils import com.zxhl.cms.utils.UserDataUtils
import com.zxhl.cms.utils.Utils import com.zxhl.cms.utils.Utils
...@@ -44,9 +45,9 @@ class HomePresenter : HomeContract.Presenter { ...@@ -44,9 +45,9 @@ class HomePresenter : HomeContract.Presenter {
var entity = HomeBannerEntity() var entity = HomeBannerEntity()
entity.bannerType = "hua_fei" entity.bannerType = "hua_fei"
toMutableList?.add(0, entity) toMutableList?.add(0, entity)
toMutableList?.removeAt(toMutableList.size-1) toMutableList?.removeAt(toMutableList.size - 1)
mView.setBannerList(toMutableList?.toList()) mView.setBannerList(toMutableList?.toList())
}else{ } else {
mView.setBannerList(result) mView.setBannerList(result)
} }
} }
...@@ -90,4 +91,17 @@ class HomePresenter : HomeContract.Presenter { ...@@ -90,4 +91,17 @@ class HomePresenter : HomeContract.Presenter {
} }
}) })
} }
override fun getAdInfo() {
ApiClient.homeApi.getHomeAdInfo().compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<HomeAdEntity>>() {
override fun onSuccess(result: List<HomeAdEntity>?) {
mView.setAdBanner(result)
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
}
})
}
} }
\ No newline at end of file
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingBottom="8dp"> android:paddingBottom="8dp">
<com.zxbw.modulemain.view.WrapContentHeightViewPager <com.zxbw.modulemain.view.WrapContentHeightViewPager
android:id="@+id/id_home_top_banner" android:id="@+id/id_home_top_banner"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -45,6 +46,16 @@ ...@@ -45,6 +46,16 @@
tl:vpi_slider_checked_color="@color/white" tl:vpi_slider_checked_color="@color/white"
tl:vpi_slider_normal_color="#80ffffff" tl:vpi_slider_normal_color="#80ffffff"
tl:vpi_slider_radius="3dp" /> tl:vpi_slider_radius="3dp" />
<ImageView
android:id="@+id/id_img_banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_below="@+id/id_home_top_banner"
android:adjustViewBounds="true" />
</RelativeLayout> </RelativeLayout>
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
......
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