视屏横屏

public class TestVideo extends Activity {

	private WebView webview;
	private WebChromeClient chromeclient;
	private WebViewClient viewclient;

	private boolean islandport;
	private FrameLayout fullView;
	private View existCustomView;

	private CustomViewCallback xCustomViewCallback;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.test_video);

		webview = (WebView) findViewById(R.id.my_webView);
		fullView = (FrameLayout) findViewById(R.id.fullScreen);

		WebSettings ws = webview.getSettings();
		/**
		 * setAllowFileAccess 启用或禁止WebView访问文件数据 setBlockNetworkImage 是否显示网络图像
		 * setBuiltInZoomControls 设置是否支持缩放 setCacheMode 设置缓冲的模式
		 * setDefaultFontSize 设置默认的字体大小 setDefaultTextEncodingName 设置在解码时使用的默认编码
		 * setFixedFontFamily 设置固定使用的字体 setJavaSciptEnabled 设置是否支持Javascript
		 * setLayoutAlgorithm 设置布局方式 setLightTouchEnabled 设置用鼠标激活被选项
		 * setSupportZoom 设置是否支持变焦
		 */
		ws.setBuiltInZoomControls(true);// 隐藏缩放按钮
		ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);// 排版适应屏幕
		ws.setUseWideViewPort(true);// 可任意比例缩放
		ws.setLoadWithOverviewMode(true);// setUseWideViewPort方法设置webview推荐使用的窗口。setLoadWithOverviewMode方法是设置webview加载的页面的模式。
		ws.setSavePassword(true);
		ws.setSaveFormData(true);// 保存表单数据
		ws.setJavaScriptEnabled(true);
		webview.setWebChromeClient(new MyChromeClient());
		webview.setWebViewClient(new MyViewClient());

		webview.loadUrl("http://www.iqiyi.com/w_19rt1y0fh9.html");
	}

	public boolean inCustomView() {
		return (existCustomView != null);
	}

	class MyChromeClient extends WebChromeClient {
		private Bitmap xdefaltvideo;
		private View xprogressvideo;

		@Override
		// 播放网络视频时全屏会被调用的方法
		public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) {
			if (islandport) {
			} else {
			}

			setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
			webview.setVisibility(View.GONE);
			// 如果一个视图已经存在,那么立刻终止并新建一个
			if (existCustomView != null) {
				callback.onCustomViewHidden();
				return;
			}

			fullView.addView(view);
			existCustomView = view;
			xCustomViewCallback = callback;
			fullView.setVisibility(View.VISIBLE);
		}

		@Override
		// 视频播放退出全屏会被调用的
		public void onHideCustomView() {

			if (existCustomView == null)// 不是全屏播放状态
				return;

			// Hide the custom view.
			setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
			existCustomView.setVisibility(View.GONE);

			// Remove the custom view from its container.
			fullView.removeView(existCustomView);
			existCustomView = null;
			fullView.setVisibility(View.GONE);
			xCustomViewCallback.onCustomViewHidden();

			webview.setVisibility(View.VISIBLE);

			// Log.i(LOGTAG, "set it to webVew");
		}

		// 网页标题
		@Override
		public void onReceivedTitle(WebView view, String title) {
			(testVideo.TestVideo.this).setTitle(title);
		}

		// @Override
		// //当WebView进度改变时更新窗口进度
		// public void onProgressChanged(WebView view, int newProgress) {
		// (MainActivity.this).getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
		// newProgress*100);
		// }

	}

	class MyViewClient extends WebViewClient {
		@Override
		public boolean shouldOverrideUrlLoading(WebView view, String url) {
			Log.i("webviewtest", "shouldOverrideUrlLoading: " + url);
			return false;
		}
	}

}
上述方法适合网页内使用video标签可以全屏,  如果使用embed则无法全屏,  可以使用腾讯的x5内核,  当然自己开发或者找到其他浏览内核也行...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值