效果图:
java代码:
if(dialog==null){ dialog = new Dialog(context); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.dialog_adview); dialog.getWindow().setDimAmount(0); dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); } Window window = dialog.getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.x = 395;//x,y代表dialog显示的位置 lp.y = 200; lp.height=190;//dialog的大小 lp.width=300; window.setAttributes(lp); dialog.setCanceledOnTouchOutside(false);//防止点击弹框外的区域要能够关闭Dialog Utils.hideBottomUIMenu(); dialog.show(); //以下是播放视频部分 videoView=(VideoView)dialog.findViewById(R.id.vv_admed); final String uri = "android.resource://" + MyApplication.currentActivity().getPackageName() + "/" + R.raw.pacify; videoView.setVideoPath(uri); videoView.getHolder().setFixedSize(960, 540); videoView.start(); videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { // TODO Auto-generated method stub mp.setLooping(true); } }); videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub } });
当你的程序是全屏时,防止dialog使你的程序退出影响全屏效果,可以加上下面的代码:
View decorView = dialog.getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions);