Commit 91327705 authored by maxiaoliang's avatar maxiaoliang

添加首页bannaer位置

parent 5bb4faff
......@@ -32,8 +32,7 @@
android:layout_above="@+id/id_activity_main_fragment_navigation"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:layout_marginBottom="100dp"
android:src="@drawable/icon_head_defalt" />
android:layout_marginBottom="100dp" />
<View
......
PACKAGE_NAME=com.zxhl.shop
VERSION_CODE=27
VERSION_NAME=1.2.6
\ No newline at end of file
VERSION_CODE=28
VERSION_NAME=1.2.7
\ No newline at end of file
......@@ -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_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_HOME_AD_INFO = "app/v1/game/xiaoxiang/ads";//首页广告信息
}
public static class FlashSale {
......
......@@ -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.uc.UserInfo
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 io.reactivex.Observable
import okhttp3.ResponseBody
......@@ -416,4 +417,7 @@ interface IHomeApi {
@POST(NetConfig.QY.XX_GOODS_VIDEO_REWARD)
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
import com.zxhl.cms.net.model.box.TabEntity
import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.qy.HomeBannerEntity
import com.zxhl.cms.net.model.video.HomeAdEntity
/**
* 主页
......@@ -13,11 +14,13 @@ class HomeContract {
fun setBannerList(result: List<HomeBannerEntity>?)
fun setTabList(list: List<TabEntity>?)
fun setCouponsList(result: List<CouponsEntity>?)
fun setAdBanner(result: List<HomeAdEntity>?)
}
interface Presenter {
fun getBannerList()
fun getTabList()
fun getFetchCard()
fun getAdInfo()
}
}
\ No newline at end of file
......@@ -5,11 +5,15 @@ import android.text.TextUtils
import android.util.Log
import android.view.View
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.adapter.HomeBannerAdapter
import com.zxbw.modulemain.contract.HomeContract
import com.zxbw.modulemain.presenter.HomePresenter
import com.zxbw.modulemain.view.DialogUtils
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.Constant
import com.zxhl.cms.common.FragmentAdapter
import com.zxhl.cms.common.NetConfig
......@@ -19,6 +23,8 @@ import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.model.box.TabEntity
import com.zxhl.cms.net.model.qy.CouponsEntity
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.UpdateCallback
import com.zxhl.cms.utils.Utils
......@@ -40,7 +46,7 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
override fun lazyLoad() {
super.lazyLoad()
if (isInitial && isVisible) {
mPresenter?.getAdInfo()
}
}
......@@ -49,10 +55,16 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
updateVersionManager?.checkUpdate(true)
var statusBarHeight = ScreenUtils.getStatusBarHeight()
if (statusBarHeight <= 0) {
statusBarHeight = 40;
statusBarHeight = 40
}
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)
id_rl_search_view.setOnClickListener {
......@@ -148,8 +160,8 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
}
override fun setCouponsList(result: List<CouponsEntity>?) {
if(!result.isNullOrEmpty()){
if(TextUtils.equals(SettingPreference.getifShowCoups(),"0")){
if (!result.isNullOrEmpty()) {
if (TextUtils.equals(SettingPreference.getifShowCoups(), "0")) {
DialogUtils.showifshowCoup(mActivity, result, View.OnClickListener {
JumpUtils.RechargeJump()
})
......@@ -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) {
Log.e("MXL", "更新:" + boolean)
if (Constant.Switch.isOpenVip) {
......
......@@ -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.TbGoodsEntity
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.UserDataUtils
import com.zxhl.cms.utils.Utils
......@@ -44,9 +45,9 @@ class HomePresenter : HomeContract.Presenter {
var entity = HomeBannerEntity()
entity.bannerType = "hua_fei"
toMutableList?.add(0, entity)
toMutableList?.removeAt(toMutableList.size-1)
toMutableList?.removeAt(toMutableList.size - 1)
mView.setBannerList(toMutableList?.toList())
}else{
} else {
mView.setBannerList(result)
}
}
......@@ -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 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp">
<com.zxbw.modulemain.view.WrapContentHeightViewPager
android:id="@+id/id_home_top_banner"
android:layout_width="match_parent"
......@@ -45,6 +46,16 @@
tl:vpi_slider_checked_color="@color/white"
tl:vpi_slider_normal_color="#80ffffff"
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>
<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