Commit cec9b7ce authored by wangxuewei's avatar wangxuewei

[提交人]:王雪伟

[提交简述] :幸福农场
[实现方案] :更新小满广点通广告加载方法
加入红包弹窗功能。
parent b5f61ae7
...@@ -5,6 +5,7 @@ import android.content.Intent ...@@ -5,6 +5,7 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import android.view.View
import com.bx.adsdk.AdSdk import com.bx.adsdk.AdSdk
import com.game.luckyfarm.UnityPlayerActivity import com.game.luckyfarm.UnityPlayerActivity
import com.umeng.analytics.MobclickAgent import com.umeng.analytics.MobclickAgent
...@@ -38,6 +39,7 @@ import io.reactivex.Observable ...@@ -38,6 +39,7 @@ import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import org.jetbrains.anko.act import org.jetbrains.anko.act
import java.lang.reflect.Method import java.lang.reflect.Method
import java.text.DecimalFormat
/** /**
* @author (wangXuewei) * @author (wangXuewei)
...@@ -855,6 +857,141 @@ class GameActivity : UnityPlayerActivity(), IDialogViewCloseCallback { ...@@ -855,6 +857,141 @@ class GameActivity : UnityPlayerActivity(), IDialogViewCloseCallback {
}) })
} }
fun onGetRedPackList(callback: IUnitySendMessageCallback?) {
GameApiClient.gameApi.getRedPackList()
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<RedPackListEntity>>() {
override fun onSuccess(result: List<RedPackListEntity>?) {
if (result != null) {
Log.d(
"wxw",
"redPack===" + "{\"redPackList\":" + Utils.obj2Str(result) + "}"
)
callback?.onRedPackListSuccess(
true,
"{\"redPackList\":" + Utils.obj2Str(result) + "}"
)
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
callback?.onRedPackListSuccess(
false,
"红包列表失败"
)
}
})
}
fun onRedPackReceive(redPackId: Int, moneyNum: String) {
Log.d("wxw", "redId" + redPackId)
GameApiClient.gameApi.getRedPackReceive(redPackId)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<RedPackReceiveEntity>() {
override fun onSuccess(result: RedPackReceiveEntity?) {
if (result != null) {
callUnity("RedPackList", "redPackListDataUpdate", "")
callUnity("TitleView", "getHomeInfo", "")
GameEvent("show_receive_redPack_dialog_success","展示红包领取弹窗成功")
//签到双倍领取弹窗显示
CenterDialog.getTaskRewardDialog(
act,
"+${moneyNum}元",
View.OnClickListener {
GameEvent("click_receive_redPack_double","点击六倍领取")
Log.d("wxw", "签到翻倍广告点击")
AdManager.loadRewardVideoAd(
ADConfig.AD_REWARD_VIDIO,
act,
object : ZXADVideoListener {
override fun onFail() {
}
override fun onSuccess() {
}
override fun onError() {
}
override fun onRewardVideoCached() {
}
override fun setRewardAdInteractionListener() {
}
override fun onRewardVerify() {
}
override fun onVideoError() {
// showToponWaterVideo()
}
override fun onRewardVideoAdLoad() {
}
override fun onRewardVideoAdLoad(entity: NewsEntity) {
}
override fun onAdShow() {
}
override fun onAdVideoBarClick(newsEntity: NewsEntity) {
}
override fun onAdClose() {
//看视频上报
getVideoAcceleratorsReceive();
onRedPackAwardReceive(result.doubleX.multipleSid)
}
override fun onVideoComplete() {
}
override fun onSkippedVideo() {
}
override fun onFullScreenVideoCached() {
}
override fun onLoadVideoAd(rewardVideoAD: ZXADRewardVideo) {
}
})
})
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
GameEvent("show_receive_redPack_dialog_fail","展示红包领取弹窗失败")
}
})
}
fun onRedPackAwardReceive(doubleId: String) {
Log.d("wxw", "double" + doubleId)
GameApiClient.gameApi.getRedPackAwardReceive(doubleId)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<RedPackDoubleReceiveEntity>() {
override fun onSuccess(result: RedPackDoubleReceiveEntity?) {
if (result != null) {
GameEvent("show_receive_redPack_double_success","六倍领取成功")
var allMoneyNum =
"总共获得奖励+${result.rewardContentList[0].totalRewardNum / 100.toDouble()}元";
ToastUtil.showImageToas(act, allMoneyNum)
callUnity("RedPackList", "redPackListDataUpdate", "")
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
GameEvent("show_receive_redPack_double_fail","六倍领取失败")
}
})
}
fun GameEvent(keyName: String, valueName: String) { fun GameEvent(keyName: String, valueName: String) {
EventUtils.onEvent(keyName, valueName); EventUtils.onEvent(keyName, valueName);
} }
......
...@@ -8,27 +8,40 @@ package com.ym.game ...@@ -8,27 +8,40 @@ package com.ym.game
interface IUnitySendMessageCallback { interface IUnitySendMessageCallback {
//主页 //主页
fun onHomeSuccess(isSuccess: Boolean, result: String) fun onHomeSuccess(isSuccess: Boolean, result: String)
//云朵加速 //云朵加速
fun onCloudSpeedSuccess(isSuccess: Boolean, result: String) fun onCloudSpeedSuccess(isSuccess: Boolean, result: String)
//土地列表 //土地列表
fun onFarmLandListSuccess(isSuccess: Boolean, result: String) fun onFarmLandListSuccess(isSuccess: Boolean, result: String)
//土地解锁,种植,收获 //土地解锁,种植,收获
fun onLandUnLockSuccess(isSuccess: Boolean, result: String) fun onLandUnLockSuccess(isSuccess: Boolean, result: String)
//使用加速剂 //使用加速剂
fun onUseAcceleratorsSuccess(isSuccess: Boolean, result: String) fun onUseAcceleratorsSuccess(isSuccess: Boolean, result: String)
//购买种子 //购买种子
fun onBuySeedSuccess(isSuccess: Boolean, result: String) fun onBuySeedSuccess(isSuccess: Boolean, result: String)
//仓库 //仓库
fun onHomeWareListSuccess(isSuccess: Boolean, result: String) fun onHomeWareListSuccess(isSuccess: Boolean, result: String)
//订单列表 //订单列表
fun onOrderListSuccess(isSuccess: Boolean, result: String) fun onOrderListSuccess(isSuccess: Boolean, result: String)
//订单领取 //订单领取
fun onOrderReceiveSuccess(isSuccess: Boolean, result: String) fun onOrderReceiveSuccess(isSuccess: Boolean, result: String)
//看视频获得种子 //看视频获得种子
fun onIncrVideoSeedSuccess(isSuccess: Boolean, result: String) fun onIncrVideoSeedSuccess(isSuccess: Boolean, result: String)
//看视频获得加速剂 //看视频获得加速剂
fun onIncrVideoAcceleratorsSuccess(isSuccess: Boolean, result: String) fun onIncrVideoAcceleratorsSuccess(isSuccess: Boolean, result: String)
//看视频获得宝箱奖励 //看视频获得宝箱奖励
fun onAdFlyBoxSuccess(isSuccess: Boolean, result: String) fun onAdFlyBoxSuccess(isSuccess: Boolean, result: String)
//红包列表成功
fun onRedPackListSuccess(isSuccess: Boolean, result: String)
} }
\ No newline at end of file
...@@ -32,7 +32,7 @@ class BaseApplication : MultiDexApplication() { ...@@ -32,7 +32,7 @@ class BaseApplication : MultiDexApplication() {
//第一步初始化 application //第一步初始化 application
AppliContext.init(this) AppliContext.init(this)
// Config.init(this) // Config.init(this)
NetConfig.setBase_Url(NetConfig.Environment.DEV)// TODO 上线之后提成成 NetConfig.Environment.PRODUCT NetConfig.setBase_Url(NetConfig.Environment.PRODUCT)// TODO 上线之后提成成 NetConfig.Environment.PRODUCT
Constant.appLs = "a03d5320d905cf3b"//applsq Constant.appLs = "a03d5320d905cf3b"//applsq
AdManager.init(this) AdManager.init(this)
......
package com.ym.game.module;
import java.util.List;
/**
* @author (wangXuewei)
* @datetime 2020-10-30 19:55 GMT+8
* @detail :
*/
public class RedPackDoubleReceiveEntity {
/**
* recode : 1
* msg : 领取成功
* rewardContentList : [{"rewardNum":200,"totalRewardNum":240,"currencyTypeEnum":"CENT","currencyType":10,"rate":null,"cash":0}]
* overRewardContentList : null
* ore : null
* cents : null
* taskId : null
* centTemp : null
* oreTemp : null
* doublingRpk : null
* ext : null
*/
private int recode;
private String msg;
private Object overRewardContentList;
private Object ore;
private Object cents;
private Object taskId;
private Object centTemp;
private Object oreTemp;
private Object doublingRpk;
private Object ext;
private List<RewardContentListBean> rewardContentList;
public int getRecode() {
return recode;
}
public void setRecode(int recode) {
this.recode = recode;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getOverRewardContentList() {
return overRewardContentList;
}
public void setOverRewardContentList(Object overRewardContentList) {
this.overRewardContentList = overRewardContentList;
}
public Object getOre() {
return ore;
}
public void setOre(Object ore) {
this.ore = ore;
}
public Object getCents() {
return cents;
}
public void setCents(Object cents) {
this.cents = cents;
}
public Object getTaskId() {
return taskId;
}
public void setTaskId(Object taskId) {
this.taskId = taskId;
}
public Object getCentTemp() {
return centTemp;
}
public void setCentTemp(Object centTemp) {
this.centTemp = centTemp;
}
public Object getOreTemp() {
return oreTemp;
}
public void setOreTemp(Object oreTemp) {
this.oreTemp = oreTemp;
}
public Object getDoublingRpk() {
return doublingRpk;
}
public void setDoublingRpk(Object doublingRpk) {
this.doublingRpk = doublingRpk;
}
public Object getExt() {
return ext;
}
public void setExt(Object ext) {
this.ext = ext;
}
public List<RewardContentListBean> getRewardContentList() {
return rewardContentList;
}
public void setRewardContentList(List<RewardContentListBean> rewardContentList) {
this.rewardContentList = rewardContentList;
}
public static class RewardContentListBean {
/**
* rewardNum : 200
* totalRewardNum : 240
* currencyTypeEnum : CENT
* currencyType : 10
* rate : null
* cash : 0
*/
private int rewardNum;
private int totalRewardNum;
private String currencyTypeEnum;
private int currencyType;
private Object rate;
private int cash;
public int getRewardNum() {
return rewardNum;
}
public void setRewardNum(int rewardNum) {
this.rewardNum = rewardNum;
}
public int getTotalRewardNum() {
return totalRewardNum;
}
public void setTotalRewardNum(int totalRewardNum) {
this.totalRewardNum = totalRewardNum;
}
public String getCurrencyTypeEnum() {
return currencyTypeEnum;
}
public void setCurrencyTypeEnum(String currencyTypeEnum) {
this.currencyTypeEnum = currencyTypeEnum;
}
public int getCurrencyType() {
return currencyType;
}
public void setCurrencyType(int currencyType) {
this.currencyType = currencyType;
}
public Object getRate() {
return rate;
}
public void setRate(Object rate) {
this.rate = rate;
}
public int getCash() {
return cash;
}
public void setCash(int cash) {
this.cash = cash;
}
}
}
package com.ym.game.module;
/**
* @author (wangXuewei)
* @datetime 2020-10-30 16:21 GMT+8
* @detail :
*/
public class RedPackListEntity {
/**
* id : 1
* coins : 100
* countDownSecond : 0
* totalSecond : 180
*/
private int id;
private int coins;
private int countDownSecond;
private int totalSecond;
private String coinsStr;
public String getCoinsStr() {
return coinsStr;
}
public void setCoinsStr(String coinsStr) {
this.coinsStr = coinsStr;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getCoins() {
return coins;
}
public void setCoins(int coins) {
this.coins = coins;
}
public int getCountDownSecond() {
return countDownSecond;
}
public void setCountDownSecond(int countDownSecond) {
this.countDownSecond = countDownSecond;
}
public int getTotalSecond() {
return totalSecond;
}
public void setTotalSecond(int totalSecond) {
this.totalSecond = totalSecond;
}
}
package com.ym.game.module;
import com.google.gson.annotations.SerializedName;
/**
* @author (wangXuewei)
* @datetime 2020-10-30 19:25 GMT+8
* @detail :
*/
public class RedPackReceiveEntity {
/**
* totalCoins : 240
* totalCents : 37678
* double : {"multipleSid":"70028e066fcc4efda63a8e9f7d403892","buttonText":"看视频3-5倍奖励"}
*/
private int totalCoins;
private int totalCents;
@SerializedName("double")
private DoubleBean doubleX;
public int getTotalCoins() {
return totalCoins;
}
public void setTotalCoins(int totalCoins) {
this.totalCoins = totalCoins;
}
public int getTotalCents() {
return totalCents;
}
public void setTotalCents(int totalCents) {
this.totalCents = totalCents;
}
public DoubleBean getDoubleX() {
return doubleX;
}
public void setDoubleX(DoubleBean doubleX) {
this.doubleX = doubleX;
}
public static class DoubleBean {
/**
* multipleSid : 70028e066fcc4efda63a8e9f7d403892
* buttonText : 看视频3-5倍奖励
*/
private String multipleSid;
private String buttonText;
public String getMultipleSid() {
return multipleSid;
}
public void setMultipleSid(String multipleSid) {
this.multipleSid = multipleSid;
}
public String getButtonText() {
return buttonText;
}
public void setButtonText(String buttonText) {
this.buttonText = buttonText;
}
}
}
...@@ -171,4 +171,32 @@ interface IGameApi { ...@@ -171,4 +171,32 @@ interface IGameApi {
@POST(NetConfig.Game.URL_GAME_FARM_RANK_RECEIVE) @POST(NetConfig.Game.URL_GAME_FARM_RANK_RECEIVE)
fun getRankReceive(): Observable<Response<RankReceiveEntity>> fun getRankReceive(): Observable<Response<RankReceiveEntity>>
/**
* 红包列表
* @param
* @paramq
* @return
*/
@GET(NetConfig.Game.URL_GAME_RED_PACK_LIST)
fun getRedPackList(): Observable<Response<List<RedPackListEntity>>>
/**
* 红包领取
* @param
* @paramq
* @return
*/
@POST(NetConfig.Game.URL_GAME_RED_PACK_RECEIVE)
fun getRedPackReceive(@Query("id") id: Int): Observable<Response<RedPackReceiveEntity>>
/**
* 红包倍数领取
* @param
* @paramq
* @return
*/
@POST(NetConfig.Game.URL_GAME_RED_PACK_AWARD_RECEIVE)
fun getRedPackAwardReceive(@Query("sid") id: String): Observable<Response<RedPackDoubleReceiveEntity>>
} }
\ No newline at end of file
...@@ -33,8 +33,8 @@ dependencies { ...@@ -33,8 +33,8 @@ dependencies {
} }
android { android {
compileSdkVersion 30 compileSdkVersion 29
buildToolsVersion '30.0.2' buildToolsVersion '29.0.3'
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8
...@@ -43,7 +43,7 @@ android { ...@@ -43,7 +43,7 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 30 targetSdkVersion 29
ndk { ndk {
abiFilters 'armeabi-v7a', 'x86' abiFilters 'armeabi-v7a', 'x86'
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -92,7 +92,7 @@ dependencies { ...@@ -92,7 +92,7 @@ dependencies {
api 'com.tencent.bugly:crashreport:latest.release' api 'com.tencent.bugly:crashreport:latest.release'
api 'com.tencent.bugly:nativecrashreport:latest.release' api 'com.tencent.bugly:nativecrashreport:latest.release'
api('cn.vlion.inland:inlandmix:9.8.3') { api('cn.vlion.inland:inlandmix:9.8.2') {
exclude group: 'cn.vlion.inland', module: 'inlandb' exclude group: 'cn.vlion.inland', module: 'inlandb'
exclude group: 'cn.vlion.inland', module: 'inlandg' exclude group: 'cn.vlion.inland', module: 'inlandg'
exclude group: 'cn.vlion.inland', module: 'inlands' exclude group: 'cn.vlion.inland', module: 'inlands'
......
...@@ -22,23 +22,14 @@ ...@@ -22,23 +22,14 @@
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />--> <!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
<!--<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />--> <!--<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />--> <!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />--> <!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<permission <permission
...@@ -53,7 +44,6 @@ ...@@ -53,7 +44,6 @@
<!--必要权限--> <!--必要权限-->
<!--可选权限--> <!--可选权限-->
<uses-permission android:name="android.permission.GET_TASKS" />
<!--可选,穿山甲提供“获取地理位置权限”和“不给予地理位置权限,开发者传入地理位置参数”两种方式上报用户位置,两种方式均可不选,添加位置权限或参数将帮助投放定位广告--> <!--可选,穿山甲提供“获取地理位置权限”和“不给予地理位置权限,开发者传入地理位置参数”两种方式上报用户位置,两种方式均可不选,添加位置权限或参数将帮助投放定位广告-->
<!--请注意:无论通过何种方式提供给穿山甲用户地理位置,均需向用户声明地理位置权限将应用于穿山甲广告投放,穿山甲不强制获取地理位置信息--> <!--请注意:无论通过何种方式提供给穿山甲用户地理位置,均需向用户声明地理位置权限将应用于穿山甲广告投放,穿山甲不强制获取地理位置信息-->
......
package com.ym.library.activity package com.ym.library.activity
import android.os.SystemClock
import android.util.Log import android.util.Log
import com.bx.adsdk.CampaignCallback import com.bx.adsdk.CampaignCallback
import com.bx.adsdk.CampaignFragment import com.bx.adsdk.CampaignFragment
...@@ -35,7 +36,7 @@ class XiaoManActivity : BaseActivity() { ...@@ -35,7 +36,7 @@ class XiaoManActivity : BaseActivity() {
* @param callback CampaignCallback 回调 * @param callback CampaignCallback 回调
*/ */
campaignFragment = CampaignFragment.newInstance(SettingPreference.getToken()) campaignFragment = CampaignFragment.newInstance(SettingPreference.getToken())
campaignFragment?.setPlaceId("2654") campaignFragment?.setPlaceId("2758")
campaignFragment?.setCallback(object : CampaignCallback() { campaignFragment?.setCallback(object : CampaignCallback() {
override fun showAd(params: String) { override fun showAd(params: String) {
super.showAd(params) super.showAd(params)
...@@ -43,6 +44,9 @@ class XiaoManActivity : BaseActivity() { ...@@ -43,6 +44,9 @@ class XiaoManActivity : BaseActivity() {
val adType: String = bridgeBean.adType.toString() val adType: String = bridgeBean.adType.toString()
val pId: String = bridgeBean.pid.toString() val pId: String = bridgeBean.pid.toString()
val requestId: String = bridgeBean.requestId.toString() val requestId: String = bridgeBean.requestId.toString()
Log.d("xiaoman","wxw"+adType)
Log.d("xiaoman","wxwpId"+pId)
Log.d("xiaoman","wxwrequestId"+requestId)
if (adType.equals("1")) { if (adType.equals("1")) {
showTTAd("5113760", pId, requestId) showTTAd("5113760", pId, requestId)
} else { } else {
...@@ -101,35 +105,42 @@ class XiaoManActivity : BaseActivity() { ...@@ -101,35 +105,42 @@ class XiaoManActivity : BaseActivity() {
mTTAdNative.loadRewardVideoAd(adSlot, object : TTAdNative.RewardVideoAdListener { mTTAdNative.loadRewardVideoAd(adSlot, object : TTAdNative.RewardVideoAdListener {
override fun onError(code: Int, message: String) { override fun onError(code: Int, message: String) {
Log.d("xiaoman","onError"+code+"message"+message)
campaignFragment?.setVideoError(requestId) campaignFragment?.setVideoError(requestId)
} }
//视频广告加载后的视频文件资源缓存到本地的回调 //视频广告加载后的视频文件资源缓存到本地的回调
override fun onRewardVideoCached() {} override fun onRewardVideoCached() {Log.d("xiaoman","onRewardVideoCached")}
//视频广告素材加载到,如title,视频url等,不包括视频文件 //视频广告素材加载到,如title,视频url等,不包括视频文件
override fun onRewardVideoAdLoad(ad: TTRewardVideoAd) { override fun onRewardVideoAdLoad(ad: TTRewardVideoAd) {
Log.d("xiaoman","onRewardVideoAdLoad")
ad.setRewardAdInteractionListener(object : ad.setRewardAdInteractionListener(object :
TTRewardVideoAd.RewardAdInteractionListener { TTRewardVideoAd.RewardAdInteractionListener {
override fun onAdShow() { override fun onAdShow() {
Log.d("xiaoman","onAdShow")
campaignFragment?.setVideoLoad(requestId) campaignFragment?.setVideoLoad(requestId)
EventUtils.onEvent("XIAO_MAN_CSJ_SHOW","小满穿山甲广告展示") EventUtils.onEvent("XIAO_MAN_CSJ_SHOW","小满穿山甲广告展示")
} }
override fun onAdVideoBarClick() { override fun onAdVideoBarClick() {
Log.d("xiaoman","onAdVideoBarClick")
EventUtils.onEvent("XIAO_MAN_CSJ_CLICK","小满穿山甲广告点击") EventUtils.onEvent("XIAO_MAN_CSJ_CLICK","小满穿山甲广告点击")
} }
override fun onAdClose() { override fun onAdClose() {
Log.d("xiaoman","onAdClose")
EventUtils.onEvent("XIAO_MAN_CSJ_CLOSE_CLICK","小满穿山甲广告关闭点击") EventUtils.onEvent("XIAO_MAN_CSJ_CLOSE_CLICK","小满穿山甲广告关闭点击")
campaignFragment?.setVideoClose(requestId) campaignFragment?.setVideoClose(requestId)
} }
override fun onVideoError() { override fun onVideoError() {
Log.d("xiaoman","onVideoError")
campaignFragment?.setVideoError(requestId) campaignFragment?.setVideoError(requestId)
} }
override fun onVideoComplete() { override fun onVideoComplete() {
Log.d("xiaoman","onVideoComplete")
campaignFragment?.setVideoComplete(requestId) campaignFragment?.setVideoComplete(requestId)
} }
override fun onRewardVerify(rewardVerify: Boolean, rewardAmount: Int, rewardName: String?) {} override fun onRewardVerify(rewardVerify: Boolean, rewardAmount: Int, rewardName: String?) { Log.d("xiaoman","onRewardVerify")}
override fun onSkippedVideo() {} override fun onSkippedVideo() { Log.d("xiaoman","onSkippedVideo")}
}) })
ad.setDownloadListener(object : TTAppDownloadListener { ad.setDownloadListener(object : TTAppDownloadListener {
override fun onIdle() {} override fun onIdle() {}
...@@ -148,82 +159,133 @@ class XiaoManActivity : BaseActivity() { ...@@ -148,82 +159,133 @@ class XiaoManActivity : BaseActivity() {
* 广点通广告 * 广点通广告
*/ */
fun showGDTAd(appID: String, pId: String, requestId: String) { fun showGDTAd(appID: String, pId: String, requestId: String) {
GDTADManager.getInstance().initWith(this@XiaoManActivity, requestId) GDTADManager.getInstance().initWith(this@XiaoManActivity, appID)
// rewardVideoAD = RewardVideoAD(this, appID, pId, object : RewardVideoADListener { rewardVideoAD = RewardVideoAD(this@XiaoManActivity, pId, object : RewardVideoADListener {
// override fun onADLoad() {
// if (rewardVideoAD != null) rewardVideoAD?.showAD()
// campaignFragment?.setVideoLoad(requestId)
// }
// override fun onVideoCached() {}
// override fun onADShow() {
// EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示")
// }
// override fun onADExpose() {}
// override fun onReward() {}
// override fun onADClick() {
// EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击")
// }
// override fun onVideoComplete() {
// campaignFragment?.setVideoComplete(requestId)
// }
// override fun onADClose() {
// EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击")
// campaignFragment?.setVideoClose(requestId)
// }
// override fun onError(adError: AdError) {
// campaignFragment?.setVideoError(requestId)
// }
// })
// rewardVideoAD?.loadAD()
var rewardVideoAD = RewardVideoAD(this, pId, object : RewardVideoADListener {
override fun onADExpose() { override fun onADExpose() {
// listener.onAdShow() Log.d("xiaoman","onADExpose")
} }
override fun onADClick() { override fun onADClick() {
EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击") EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击")
} }
override fun onVideoCached() { override fun onVideoCached() {
Log.d("xiaoman","onVideoCached")
if (!rewardVideoAD?.hasShown()!!) { //广告展示检查2:当前广告数据还没有展示过
val delta: Long = 1000 //建议给广告过期时间加个buffer,单位ms,这里demo采用1000ms的buffer
//广告展示检查3:展示广告前判断广告数据未过期
if (SystemClock.elapsedRealtime() < rewardVideoAD!!.getExpireTimestamp() - delta) {
rewardVideoAD?.showAD()
} else {//激励视频广告已过期,请再次请求广告后进行广告展示!
} }
} else {//此条广告已经展示过,请再次请求广告后进行广告展示!
override fun onReward() {
} }
}
override fun onReward() {Log.d("wxw","onReward")}
override fun onADClose() { override fun onADClose() {
Log.d("xiaoman","onADClose")
EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击") EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击")
campaignFragment?.setVideoClose(requestId) campaignFragment?.setVideoClose(requestId)
} }
//如果这里
override fun onADLoad() { override fun onADLoad() {
if (rewardVideoAD != null) rewardVideoAD?.showAD() Log.d("xiaoman","onADLoad")
campaignFragment?.setVideoLoad(requestId) campaignFragment?.setVideoLoad(requestId)
} }
override fun onVideoComplete() { override fun onVideoComplete() {
Log.d("xiaoman","onVideoComplete")
campaignFragment?.setVideoComplete(requestId) campaignFragment?.setVideoComplete(requestId)
} }
override fun onError(p0: AdError?) { override fun onError(p0: AdError?) {
Log.d("xiaoman","${p0?.errorCode}onError"+p0?.errorMsg)
campaignFragment?.setVideoError(requestId) campaignFragment?.setVideoError(requestId)
} }
override fun onADShow() { override fun onADShow() {
Log.d("xiaoman","onADShow")
EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示") EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示")
} }
})
}) // 有声播放 rewardVideoAD?.loadAD()
}
rewardVideoAD.loadAD()
} // /**
// * 广点通广告
// */
// fun showGDTAd(appID: String, pId: String, requestId: String) {
// GDTADManager.getInstance().initWith(this@XiaoManActivity, requestId)
//// rewardVideoAD = RewardVideoAD(this, appID, pId, object : RewardVideoADListener {
//// override fun onADLoad() {
//// if (rewardVideoAD != null) rewardVideoAD?.showAD()
//// campaignFragment?.setVideoLoad(requestId)
//// }
//// override fun onVideoCached() {}
//// override fun onADShow() {
//// EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示")
//// }
//// override fun onADExpose() {}
//// override fun onReward() {}
//// override fun onADClick() {
//// EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击")
//// }
//// override fun onVideoComplete() {
//// campaignFragment?.setVideoComplete(requestId)
//// }
//// override fun onADClose() {
//// EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击")
//// campaignFragment?.setVideoClose(requestId)
//// }
//// override fun onError(adError: AdError) {
//// campaignFragment?.setVideoError(requestId)
//// }
//// })
//// rewardVideoAD?.loadAD()
//
//
// var rewardVideoAD = RewardVideoAD(this, pId, object : RewardVideoADListener {
// override fun onADExpose() {
//// listener.onAdShow()
// }
//
// override fun onADClick() {
// EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击")
// }
//
// override fun onVideoCached() {
// }
//
// override fun onReward() {
//
// }
//
// override fun onADClose() {
// EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击")
// campaignFragment?.setVideoClose(requestId)
// }
//
//
// //如果这里
// override fun onADLoad() {
// if (rewardVideoAD != null) rewardVideoAD?.showAD()
// campaignFragment?.setVideoLoad(requestId)
// }
//
// override fun onVideoComplete() {
// campaignFragment?.setVideoComplete(requestId)
// }
//
// override fun onError(p0: AdError?) {
// campaignFragment?.setVideoError(requestId)
// }
//
// override fun onADShow() {
// EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示")
// }
//
// }) // 有声播放
//
//
// rewardVideoAD.loadAD()
//
//
// }
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
......
...@@ -311,6 +311,10 @@ object AdManager { ...@@ -311,6 +311,10 @@ object AdManager {
container: FrameLayout, container: FrameLayout,
zxadListener: ZXADSplashListener zxadListener: ZXADSplashListener
) { ) {
if(!isInit){
zxadListener.onTimeout()
return
}
ZXADClient.adApi.getAd(type).compose(RxSchedulers.observableIO2Main()) ZXADClient.adApi.getAd(type).compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<NewsEntity>>() { .subscribe(object : BaseObserver<List<NewsEntity>>() {
override fun onSuccess(result: List<NewsEntity>) { override fun onSuccess(result: List<NewsEntity>) {
...@@ -365,6 +369,10 @@ object AdManager { ...@@ -365,6 +369,10 @@ object AdManager {
zxadExpressListener: ZXADExpressListener, zxadExpressListener: ZXADExpressListener,
container: FrameLayout container: FrameLayout
) { ) {
if(!isInit){
zxadExpressListener.onFail()
return
}
if (AdCache.nativeList.get(adType) == null || AdCache.nativeList.get(adType)!!.size <= 0) { if (AdCache.nativeList.get(adType) == null || AdCache.nativeList.get(adType)!!.size <= 0) {
ZXADClient.adApi.getAd(adType).compose(RxSchedulers.observableIO2Main()) ZXADClient.adApi.getAd(adType).compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<NewsEntity>>() { .subscribe(object : BaseObserver<List<NewsEntity>>() {
...@@ -412,6 +420,9 @@ object AdManager { ...@@ -412,6 +420,9 @@ object AdManager {
container: FrameLayout, container: FrameLayout,
adType: String adType: String
) { ) {
if(!isInit){
return
}
var arrayList = result as ArrayList var arrayList = result as ArrayList
var newsEntity = arrayList[0] var newsEntity = arrayList[0]
...@@ -479,8 +490,11 @@ object AdManager { ...@@ -479,8 +490,11 @@ object AdManager {
//加载 激励视频广告 和 全屏广告 //加载 激励视频广告 和 全屏广告
fun loadRewardVideoAd(slotName: String, mActivity: Activity, listener: ZXADVideoListener) { fun loadRewardVideoAd(slotName: String, mActivity: Activity, listener: ZXADVideoListener) {
if(!isInit){
listener.onError()
return
}
if (AdCache.rewardList.get(slotName) == null || AdCache.rewardList.get(slotName)?.size!! <= 0) { if (AdCache.rewardList.get(slotName) == null || AdCache.rewardList.get(slotName)?.size!! <= 0) {
Log.e(TAG, "请求服务器 获取广告数据") Log.e(TAG, "请求服务器 获取广告数据")
ZXADClient.adApi.getAd(slotName).compose(RxSchedulers.observableIO2Main()) ZXADClient.adApi.getAd(slotName).compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<NewsEntity>>() { .subscribe(object : BaseObserver<List<NewsEntity>>() {
......
...@@ -237,6 +237,9 @@ public class NetConfig { ...@@ -237,6 +237,9 @@ public class NetConfig {
public static final String URL_GAME_DAILY_TASK_RECEIVE="app/v1/game/farm/daily_task_receive";//看视频获得加速剂 public static final String URL_GAME_DAILY_TASK_RECEIVE="app/v1/game/farm/daily_task_receive";//看视频获得加速剂
public static final String URL_GAME_FARM_RANK_RECEIVE="app/v1/game/farm/rank_receive";//排行榜领取 public static final String URL_GAME_FARM_RANK_RECEIVE="app/v1/game/farm/rank_receive";//排行榜领取
public static final String URL_GAME_RED_PACK_LIST="app/v1/game/farm/rp_list";//红包列表
public static final String URL_GAME_RED_PACK_RECEIVE="app/v1/game/farm/rp/receive";//拆红包 参数传红包id
public static final String URL_GAME_RED_PACK_AWARD_RECEIVE="app/v3/common/award/multiple";//翻倍领取接口
} }
} }
...@@ -111,7 +111,7 @@ object RSADUtils { ...@@ -111,7 +111,7 @@ object RSADUtils {
container: FrameLayout, container: FrameLayout,
callback: ZXADCallback callback: ZXADCallback
) { ) {
Log.e(TAG, "瑞狮 大图广告 newsEntity.codeId"+newsEntity.codeId)
var nativeManager = NativeManager.initNative() var nativeManager = NativeManager.initNative()
.setImageAcceptedSize(container.getWidth(), 0) //增加父布局 .setImageAcceptedSize(container.getWidth(), 0) //增加父布局
// .setNativeContainer(nativeLayout) // .setNativeContainer(nativeLayout)
...@@ -126,9 +126,6 @@ object RSADUtils { ...@@ -126,9 +126,6 @@ object RSADUtils {
return return
} }
onEventPullSuccess(newsEntity) onEventPullSuccess(newsEntity)
container.visibility = View.VISIBLE container.visibility = View.VISIBLE
val view = data.nativeView val view = data.nativeView
if (null != view) { if (null != view) {
......
...@@ -12,13 +12,20 @@ import android.util.Log ...@@ -12,13 +12,20 @@ import android.util.Log
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import android.webkit.WebView import android.webkit.WebView
import android.widget.FrameLayout
import android.widget.ImageView import android.widget.ImageView
import android.widget.RelativeLayout
import android.widget.TextView import android.widget.TextView
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import com.bytedance.sdk.openadsdk.TTNativeExpressAd
import com.ym.library.Constant import com.ym.library.Constant
import com.ym.library.R import com.ym.library.R
import com.ym.library.base.BaseDialog import com.ym.library.base.BaseDialog
import com.ym.library.config.AdManager
import com.ym.library.config.ZXADSizeConfig
import com.ym.library.listener.AdCallback import com.ym.library.listener.AdCallback
import com.ym.library.listener.ZXADExpressListener
import com.ym.library.module.NewsEntity
/** /**
* Created by gaoleichao on 2018/8/17. * Created by gaoleichao on 2018/8/17.
...@@ -172,188 +179,99 @@ object CenterDialog : BaseDialog() { ...@@ -172,188 +179,99 @@ object CenterDialog : BaseDialog() {
// countDown(3000, tv_time, img_close) // countDown(3000, tv_time, img_close)
// } // }
// //
// /** /**
// * 任务领取红包奖励 * 领取红包奖励
// */ */
// fun getTaskRewardDialog( fun getTaskRewardDialog(
// activity: Activity, activity: Activity,
// reward: String, reward: String,
// btnStr: String, withdrawClick: View.OnClickListener
// withdrawClick: View.OnClickListener, ) {
// taskType: String val mDialog = Dialog(activity, R.style.UpdateVersionCompatDialogTheme)
// ) { val mDialogView =
// val mDialog = Dialog(activity, R.style.UpdateVersionCompatDialogTheme) CenterDialog.showBottomDialog(
// val mDialogView = R.layout.dialog_datecoins2,
// CenterDialog.showBottomDialog( activity,
// R.layout.dialog_datecoins2, mDialog,
// activity, 0,
// mDialog, Gravity.CENTER
// 0, )
// Gravity.CENTER val tv_time = mDialogView.findViewById<TextView>(R.id.id_tv_dialog_datecoins_time)
// ) val img_close = mDialogView.findViewById<ImageView>(R.id.id_dialog_datecoins_close)
// val tv_time = mDialogView.findViewById<TextView>(R.id.id_tv_dialog_datecoins_time) val layouAd = mDialogView.findViewById<FrameLayout>(R.id.id_dialog_result_ad_layout)
// val img_close = mDialogView.findViewById<ImageView>(R.id.id_dialog_datecoins_close)
// val layouAd = mDialogView.findViewById<FrameLayout>(R.id.id_dialog_result_ad_layout)
// AdManager.loadFeedAd(
// var adIdImg = "" ADConfig.AD_IMG_FADE,
// var adNameImg = "" activity,
// when (taskType) { ZXADSizeConfig(Utils.px2dip(PhoneUtils.getScreenWidth(activity).toFloat()) - 30, 265),
// //闯关 object :
// "guessTask" -> { ZXADExpressListener {
// adIdImg = AdID.mPlacementId_pass_complete2 override fun onError(p1: String?) {
// adNameImg = "闯关任务完成大图"
// } }
// //每日任务
// "DailyTask" -> { override fun onNativeExpressAdLoad(p0: MutableList<TTNativeExpressAd>?) {
// adIdImg = AdID.mPlacementId_daily_task_finish_bigimage }
// adNameImg = "每日任务完成大图"
// } override fun onAdClicked(newsEntity: NewsEntity) {
// //签到 }
// "SignTask" -> {
// adIdImg = AdID.mPlacementId_daily_task_time_period_signin_bigimag override fun onAdShow(newsEntity: NewsEntity) {
// adNameImg = "每日任务时段签到大图" }
// }
// } override fun onRenderFail(s: String) {
// }
// ToponManager.loadNative(
// activity, layouAd, override fun onRenderSuccess() {
// object : ToponNativeListener { }
// override fun onAdImpressed(atAdInf: ATAdInfo) {
// EventUtils.onEvent( override fun onDownloadFinished() {
// "ad_show", }
// Utils.obj2Str(
// AdEntity( override fun onInstalled() {
// atAdInf.networkFirmId.toString(), }
// adIdImg,
// adNameImg override fun onDownloadFailed() {
// ) }
// )
// ) override fun onDownloadPaused() {
// } }
//
// override fun onAdClicked(atAdInf: ATAdInfo, view: ATNativeAdView) { override fun onDownloadActive() {
// EventUtils.onEvent( }
// "ad_click",
// Utils.obj2Str( override fun onIdle() {
// AdEntity( }
// atAdInf.networkFirmId.toString(),
// adIdImg, override fun onFail() {
// adNameImg }
// )
// ) override fun onSuccess() {
// ) }
//
// } },
// layouAd
// override fun onAdVideoStart() { )
// } tv_time?.visibility = View.VISIBLE
// img_close?.visibility = View.GONE
// override fun onAdVideoEnd() { img_close?.setOnClickListener {
// } EventUtils.onEvent("click_close_receive_redPack_dialog", "点击关闭领取红包弹窗")
// mDialog?.dismiss()
// } }
// , adIdImg mDialogView.findViewById<TextView>(R.id.id_dialog_datecoins_coin)?.text = reward
// ) mDialogView.findViewById<RelativeLayout>(R.id.id_rel_dialog_btn)?.setOnClickListener {
// if (Utils.isFastClick()) {
// withdrawClick.onClick(it)
// mDialog.dismiss()
// tv_time?.visibility = View.VISIBLE }
// img_close?.visibility = View.GONE }
// img_close?.setOnClickListener { mDialog?.setCanceledOnTouchOutside(false)
// when (taskType) { mDialog?.setCancelable(false)
// "guessTask" -> { mDialog?.show()
// EventUtils?.onEvent("task_success_close_click", "完成任务直接领奖") countDown(3000, tv_time, img_close)
// } }
// "DailyTask" -> {
// EventUtils?.onEvent("task_success_close_click", "完成任务直接领奖")
// }
// "SignTask" -> {
//
// }
// }
// mDialog?.dismiss()
// }
// if (btnStr == "") {
// mDialogView.findViewById<RelativeLayout>(R.id.id_rel_dialog_btn)?.visibility = View.GONE
// } else {
// mDialogView.findViewById<TextView>(R.id.id_tv_dialog_btn_desc)?.text = btnStr
// }
//
// mDialogView.findViewById<TextView>(R.id.id_dialog_datecoins_coin)?.text = reward
//
// mDialogView.findViewById<RelativeLayout>(R.id.id_rel_dialog_btn)?.setOnClickListener {
// if (Utils.isFastClick()) {
// var adId = ""
// var adName = ""
// when (taskType) {
// //闯关
// "guessTask" -> {
// adId = AdID.mPlacementId_pass_complete
// adName = "闯关任务完成激励视频"
// }
// //每日任务
// "DailyTask" -> {
// adId = AdID.mPlacementId_daily_task_video
// adName = "每日任务激励视频"
// }
// //签到
// "SignTask" -> {
// adId = AdID.mPlacementId_daily_task_time_period_signin_video
// adName = "每日任务时段签到激励视频"
// }
// }
//
// ToponManager.loadReward(activity, object : ToponRewardListener {
// override fun onRewardedVideoAdPlayClicked(entity: ATAdInfo) {
// EventUtils.onEvent(
// "ad_click",
// Utils.obj2Str(
// AdEntity(
// entity.networkFirmId.toString(),
// adId,
// adName
// )
// )
// )
//
// }
//
// override fun onRewardedVideoAdClosed(entity: ATAdInfo) {
// withdrawClick.onClick(mDialogView)
// mDialog?.dismiss()
// }
//
// override fun onRewardedVideoAdFailed(errorCode: AdError) {
// withdrawClick.onClick(mDialogView)
// mDialog?.dismiss()
// }
//
// override fun onRewardedVideoAdPlayEnd(entity: ATAdInfo) {
// EventUtils.onEvent("ad_ended", Utils.obj2Str(AdEntity("ad_ended", "ad_ended", adName)))
// }
//
// override fun onRewardedVideoAdPlayStart(entity: ATAdInfo) {
// EventUtils.onEvent(
// "ad_show",
// Utils.obj2Str(
// AdEntity(
// entity.networkFirmId.toString(),
// adId,
// adName
// )
// )
// )
// }
// }, adId)
// }
//
//
// }
// mDialog?.setCanceledOnTouchOutside(false)
// mDialog?.setCancelable(false)
// mDialog?.show()
// countDown(3000, tv_time, img_close)
// }
/** /**
* 水滴发放 * 水滴发放
* type: 1水滴 2金币 * type: 1水滴 2金币
...@@ -538,7 +456,7 @@ object CenterDialog : BaseDialog() { ...@@ -538,7 +456,7 @@ object CenterDialog : BaseDialog() {
countDownTimer = object : CountDownTimer(time, 1000) { countDownTimer = object : CountDownTimer(time, 1000) {
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
override fun onTick(millisUntilFinished: Long) { override fun onTick(millisUntilFinished: Long) {
textView.text = ((millisUntilFinished / 1000) + 1).toString() + "" textView.text = ((millisUntilFinished / 1000) + 1).toString() + ""
} }
override fun onFinish() { override fun onFinish() {
...@@ -570,7 +488,7 @@ object CenterDialog : BaseDialog() { ...@@ -570,7 +488,7 @@ object CenterDialog : BaseDialog() {
Gravity.CENTER Gravity.CENTER
) )
mDialogView.findViewById<TextView>(R.id.tv_info).text = mDialogView.findViewById<TextView>(R.id.tv_info).text =
"全民猜歌万缺少必要权限:\n\n${title}\n请点击\"设置\"-\"权限\"-打开所需权限。\n最后点击两次后退按钮,即可返回。" "幸运农场缺少必要权限:\n\n${title}\n请点击\"设置\"-\"权限\"-打开所需权限。\n最后点击两次后退按钮,即可返回。"
mDialogView.findViewById<TextView>(R.id.btn_permission_quit).setOnClickListener { mDialogView.findViewById<TextView>(R.id.btn_permission_quit).setOnClickListener {
quitListener.onClick(it) quitListener.onClick(it)
......
...@@ -18,7 +18,7 @@ public class ToastUtil { ...@@ -18,7 +18,7 @@ public class ToastUtil {
text.setText(message); //要提示的文本 text.setText(message); //要提示的文本
Toast toast=new Toast(context); //上下文 Toast toast=new Toast(context); //上下文
toast.setGravity(Gravity.CENTER,0,0); //位置居中 toast.setGravity(Gravity.CENTER,0,0); //位置居中
toast.setDuration(Toast.LENGTH_LONG); //设置短暂提示 toast.setDuration(Toast.LENGTH_SHORT); //设置短暂提示
toast.setView(toastview); //把定义好的View布局设置到Toast里面 toast.setView(toastview); //把定义好的View布局设置到Toast里面
toast.show(); toast.show();
} }
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#B2000000" android:background="#B2000000"
android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
...@@ -16,14 +17,24 @@ ...@@ -16,14 +17,24 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="15dp" android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" android:layout_marginRight="15dp"
android:background="@drawable/receive_redpack_bg"
android:paddingBottom="10dp"> android:paddingBottom="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="105dp"
android:text="现金奖励"
android:textColor="#FFFFFF"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout <LinearLayout
android:id="@+id/id_dialog_time_reward_content_layout" android:id="@+id/id_dialog_time_reward_content_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="87dp" android:layout_marginTop="120dp"
android:background="@drawable/shape_ff404654_r6"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="10dp"> android:paddingBottom="10dp">
...@@ -33,66 +44,69 @@ ...@@ -33,66 +44,69 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="65dp" android:layout_marginTop="45dp"
android:layout_marginBottom="20dp" android:layout_marginBottom="20dp"
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:text="+0金币" android:text="+0元"
android:textColor="#ffffd257" android:textColor="#FDE04C"
android:textSize="20sp" /> android:textSize="40sp"
android:textStyle="bold" />
<RelativeLayout <RelativeLayout
android:id="@+id/id_rel_dialog_btn" android:id="@+id/id_rel_dialog_btn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginBottom="20dp" android:background="@drawable/receive_btn">
android:background="@drawable/icon_double_receive_bg">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="30dp"
android:src="@drawable/receive_video_img" />
<TextView <TextView
android:id="@+id/id_tv_dialog_btn_desc" android:id="@+id/id_tv_dialog_btn_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:drawableLeft="@drawable/icon_ad_play" android:drawablePadding="50dp"
android:drawablePadding="8dp"
android:gravity="center" android:gravity="center"
android:text="看视频3-5倍奖励" android:text="领6倍奖励"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" /> android:textStyle="bold" />
</RelativeLayout> </RelativeLayout>
</LinearLayout>
<TextView <TextView
android:id="@+id/id_tv_dialog_datecoins_time" android:id="@+id/id_tv_dialog_datecoins_time"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="100dp"
android:layout_marginRight="5dp"
android:background="@drawable/receive_time"
android:gravity="center"
android:text="3" android:text="3"
android:textColor="@color/white" android:textColor="@color/white"
android:visibility="gone" /> android:visibility="gone" />
<ImageView <ImageView
android:id="@+id/id_dialog_datecoins_close" android:id="@+id/id_dialog_datecoins_close"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentRight="true"
android:layout_gravity="center_horizontal"
android:layout_marginRight="2dp"
android:src="@drawable/dialog_lucky_coins_close_grey" />
</LinearLayout>
<ImageView
android:id="@+id/dialog_time_reward_bg_img"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_alignParentRight="true"
android:layout_marginTop="20dp" android:layout_gravity="center_horizontal"
android:src="@drawable/icon_task_dialog_icon" /> android:layout_marginTop="100dp"
android:layout_marginRight="5dp"
android:src="@drawable/receive_close"
android:visibility="visible" />
</RelativeLayout> </RelativeLayout>
<FrameLayout <FrameLayout
......
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