Commit ace5ab79 authored by 王雪伟's avatar 王雪伟

激励视频布局

parent a1e942ef
......@@ -17,6 +17,7 @@ import com.ym.zxhcsdk.ads.RewardVideoPlayerUtils;
import com.ym.zxhcsdk.ads.RewardvideoPortraitADActivity;
import com.ym.zxhcsdk.listener.FeedAdListener;
import com.ym.zxhcsdk.listener.RewardVideoAdLoadListener;
import com.ym.zxhcsdk.listener.RewardVideoAdShowListener;
import com.ym.zxhcsdk.listener.SplashAdListener;
import com.ym.zxhcsdk.manager.ZXHCADManager;
import com.ym.zxhcsdk.manager.ZXHCAdViewManager;
......@@ -140,6 +141,7 @@ public class MainActivity extends Activity {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, RewardvideoPortraitADActivity.class));
}
});
......@@ -191,6 +193,37 @@ public class MainActivity extends Activity {
@Override
public void OnAdLoaded() {
RewardVideoPlayerUtils.getInstance().setVideo(zxhcRewardVideoAD);
zxhcRewardVideoAD.showRewardAD(MainActivity.this, new RewardVideoAdShowListener() {
@Override
public void OnAdShow() {
}
@Override
public void OnRewardVerify() {
}
@Override
public void OnAdClicked() {
}
@Override
public void OnVideoCompleted() {
}
@Override
public void OnAdClosed() {
}
@Override
public void OnVideoError(String error) {
}
});
}
@Override
......
package com.ym.zxhcsdk;
import java.io.Serializable;
import java.util.List;
public class HcAdBean {
public class HcAdBean implements Serializable {
private int height;
private int width;
private List<String> monitorUrl;
......
package com.ym.zxhcsdk.ads;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.CountDownTimer;
......@@ -13,9 +15,14 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.ym.zxhcsdk.HcAdBean;
import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.R;
import com.ym.zxhcsdk.view.ZXHCRewardVideoAD;
import java.io.Serializable;
public class RewardvideoPortraitADActivity extends Activity implements SurfaceHolder.Callback {
private MediaPlayer mPlayer = null;
......@@ -30,17 +37,18 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
private TextView TopTimeTv;
private ImageView TopClose;
public ZXHCRewardVideoAD mZxhcRewardVideoAD;
// public ZXHCRewardVideoAD mZxhcRewardVideoAD;
private HcAdBean zxRewardAdBean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rewardvideo_portrait_a_d);
mZxhcRewardVideoAD = RewardVideoPlayerUtils.getInstance().getVideo();
if (null != mZxhcRewardVideoAD) {
// mZxhcRewardVideoAD = RewardVideoPlayerUtils.getInstance().getVideo();
mPlayer = RewardVideoMediaPlayer.getInstance();
}
zxRewardAdBean = (HcAdBean) getIntent().getSerializableExtra("ZXRewardAdBean");
bindViews();
}
......@@ -59,6 +67,29 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
//初始化SurfaceHolder类,SurfaceView的控制器
surfaceHolder = sfv_reward_show.getHolder();
surfaceHolder.addCallback(this);
//设置底部信息
bottomTitle.setText(zxRewardAdBean.getVideo_title());
bottomDesc.setText(zxRewardAdBean.getVideo_desc());
bottomBtnTv.setText(zxRewardAdBean.getVideo_iconbuttontext());
HttpClientUtils.LoadImg(zxRewardAdBean.getVideo_icon_url(), new HttpClientUtils.OnRequestImgCallBack() {
@Override
public void onSuccess(Bitmap bitmap) {
runOnUiThread(new Runnable() {
@Override
public void run() {
bottomIcon.setImageBitmap(bitmap);
}
});
}
@Override
public void onError(String errorMsg) {
}
});
SetAdVideo();
// mPlayer = new MediaPlayer();
......@@ -74,9 +105,48 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
});
}
private void SetAdVideo(){
TopClose.setVisibility(View.GONE);
TopTimeTv.setVisibility(View.VISIBLE);
//网络流媒体播放结束监听
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.d("wxw", "MediaPlayer onCompletion");
TopClose.setVisibility(View.VISIBLE);
TopTimeTv.setVisibility(View.GONE);
}
});
//设置错误信息监听
mPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("wxw", "MediaPlayer error " + what + " extra " + extra);
TopClose.setVisibility(View.VISIBLE);
TopTimeTv.setVisibility(View.GONE);
return false;
}
});
//视频尺寸监听
mPlayer.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
// int phoneWidth = PhoneUtils.getInstance().getScreenWidth(RewardvideoPortraitADActivity.this);
// float pro = height / (float) width;
// ViewGroup.LayoutParams layoutParams = frameView.getLayoutParams();
// layoutParams.width = phoneWidth;
// layoutParams.height = (int) (phoneWidth * pro);
// frameView.setLayoutParams(layoutParams);
Log.d("wxw", "mp.getCurrentPosition() " + mp.getCurrentPosition());
}
});
}
@Override
......@@ -88,39 +158,6 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
}
//网络流媒体播放结束监听
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.d("wxw", "MediaPlayer onCompletion");
TopClose.setVisibility(View.VISIBLE);
TopTimeTv.setVisibility(View.GONE);
}
});
//设置错误信息监听
mPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("wxw", "MediaPlayer error " + what + " extra " + extra);
TopClose.setVisibility(View.VISIBLE);
TopTimeTv.setVisibility(View.GONE);
return false;
}
});
//视频尺寸监听
mPlayer.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
// int phoneWidth = PhoneUtils.getInstance().getScreenWidth(RewardvideoPortraitADActivity.this);
// float pro = height / (float) width;
// ViewGroup.LayoutParams layoutParams = frameView.getLayoutParams();
// layoutParams.width = phoneWidth;
// layoutParams.height = (int) (phoneWidth * pro);
// frameView.setLayoutParams(layoutParams);
Log.d("wxw", "mp.getCurrentPosition() " + mp.getCurrentPosition());
}
});
//mPlayer.start();
}
......
......@@ -9,6 +9,7 @@ import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.PhoneUtils;
import com.ym.zxhcsdk.ZXHCConstant;
import com.ym.zxhcsdk.ads.RewardVideoMediaPlayer;
import com.ym.zxhcsdk.ads.RewardvideoPortraitADActivity;
import com.ym.zxhcsdk.listener.RewardVideoAdLoadListener;
import com.ym.zxhcsdk.listener.RewardVideoAdShowListener;
......@@ -61,26 +62,26 @@ public class ZXHCRewardVideoAD implements Serializable {
}
try {
isLoadFinish = false;
RewardVideoMediaPlayer.getInstance().setDataSource("https://zx-cdn.zhangxinhulian.com/file/2020/5/8447fa5488ee19a54d2adbe8d127693045540211.mp4");
// mPlayer.setDisplay(surfaceHolder);
RewardVideoMediaPlayer.getInstance().prepareAsync();
//网络流媒体的缓冲监听
RewardVideoMediaPlayer.getInstance().setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
Log.d("wxw", "percent" + percent);
if (percent==100){
// mp.start();
isLoadFinish = true;
}
Log.d("wxw", "mp.getCurrentPosition() " + mp.getCurrentPosition());
}
});
} catch (IOException e) {
e.printStackTrace();
}
// try {
// isLoadFinish = false;
// RewardVideoMediaPlayer.getInstance().setDataSource("https://zx-cdn.zhangxinhulian.com/file/2020/5/8447fa5488ee19a54d2adbe8d127693045540211.mp4");
// // mPlayer.setDisplay(surfaceHolder);
// RewardVideoMediaPlayer.getInstance().prepareAsync();
// //网络流媒体的缓冲监听
// RewardVideoMediaPlayer.getInstance().setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
// @Override
// public void onBufferingUpdate(MediaPlayer mp, int percent) {
// Log.d("wxw", "percent" + percent);
// if (percent==100){
//// mp.start();
// isLoadFinish = true;
// }
// Log.d("wxw", "mp.getCurrentPosition() " + mp.getCurrentPosition());
// }
// });
// } catch (IOException e) {
// e.printStackTrace();
// }
}
@Override
......@@ -102,6 +103,11 @@ public class ZXHCRewardVideoAD implements Serializable {
* 播放激励视频
*/
public void showRewardAD(Activity context, RewardVideoAdShowListener listener) {
if (adBean!=null){
Intent intent = new Intent(context, RewardvideoPortraitADActivity.class);
intent.putExtra("ZXRewardAdBean",adBean);
context.startActivity(intent);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00a1a3a6" />
<padding
android:top="10dp"
android:bottom="10dp"
android:left="20dp"
android:right="20dp"
/>
<stroke
android:width="2dp"
android:color="#f2eada" />
<corners android:radius="25dp"/>
</shape>
\ No newline at end of file
......@@ -26,32 +26,32 @@
<ImageView
android:id="@+id/reward_ad_Voice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:layout_height="wrap_content"
android:src="@mipmap/arrow_left" />
<View
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="0dp"/>
android:layout_height="0dp"
android:layout_weight="1" />
<TextView
android:id="@+id/reward_ad_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp"
android:textSize="20dp"
android:textColor="#000000"
android:text=""
android:layout_marginTop="20dp" />
android:textColor="#000000"
android:textSize="20dp" />
<ImageView
android:id="@+id/reward_ad_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp"
android:src="@mipmap/feedad_close" />
......@@ -67,10 +67,10 @@
<ImageView
android:id="@+id/reward_ad_app_icon"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginLeft="10dp"
android:background="#ffff00" />
android:layout_width="70dp"
android:layout_height="70dp"
android:scaleType="fitCenter"
android:layout_marginLeft="10dp" />
<LinearLayout
android:id="@+id/reward_ad_desc_view"
......@@ -87,7 +87,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:text="拼多多"
android:text=""
android:textColor="#000000"
android:textSize="20dp"
android:textStyle="bold" />
......@@ -98,7 +98,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:text="拼拼多多拼多多拼多多拼多多拼多多多多"
android:text=""
android:textSize="15dp" />
......@@ -107,11 +107,13 @@
<TextView
android:id="@+id/reward_video_ad_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="50dp"
android:layout_marginRight="10dp"
android:background="@mipmap/btn"
android:textColor="#000000"
android:textSize="20dp"
android:background="@drawable/btn_bg"
android:gravity="center"
android:text="下载" />
android:text="11" />
</LinearLayout>
......
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