webview 支持视频全屏播放

遗留功能:未能自动识别视频横屏或竖屏全屏播放,默认均为竖屏全屏播放,后续继续优化

import android.annotation.SuppressLint;

import android.app.Activity;

import android.app.DownloadManager;

import android.content.Context;

import android.content.pm.ActivityInfo;

import android.net.Uri;

import android.os.Build;

import android.os.Environment;

import android.support.annotation.NonNull;

import android.support.annotation.Nullable;

import android.util.AttributeSet;

import android.view.KeyEvent;

import android.view.MotionEvent;

import android.view.View;

import android.view.ViewGroup;

import android.view.WindowManager;

import android.webkit.DownloadListener;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.widget.FrameLayout;

import android.widget.LinearLayout;

import android.widget.ProgressBar;

/**

*webview支持视频全屏播放 二次封装

*/

public class CustomWebView extends WebView {

private boolean mIsFullScreen = false;

private Context mActivity;

private ProgressBar mProgressBar;

/**

* 视频全屏参数

*/

protected static final FrameLayout.LayoutParams COVER_SCREEN_PARAMS = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

private View customView;

private FrameLayout fullscreenContainer;

private WebChromeClient.CustomViewCallback customViewCallback;

public CustomWebView(@NonNull Context context) {

super(context);

mActivity = context;

initView();

}

public CustomWebView(@NonNull Context context, @Nullable AttributeSet attrs) {

super(context, attrs);

mActivity = context;

initView();

}

public CustomWebView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

mActivity = context;

initView();

}

@Override

protected void onMeasure(int widthMeasureSpec

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: