在Android WebView中,视频全屏模式需要通过定制WebChromeClient来实现。下面是一个示例代码,可以解决Android WebView视频全屏模式不起作用的问题:
public class MyWebChromeClient extends WebChromeClient {
private View mCustomView;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
@Override
public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) {
if (mCustomView != null) {
callback.onCustomViewHidden();
return;
}
mCustomView = view;
mCustomViewCallback = callback;
}
@Override
public void onHideCustomView() {
if (mCustomView == null) {
return;
}
mCustomView.setVisibility(View.GONE);
mCustomViewCallback.onCustomViewHidden();
mCustomView = null;
}
}
WebView webView = findViewById(R.id.webView);
webView.setWebChromeClient(new MyWebChromeClient());
通过以上两个步骤,你的WebView应该可以支持视频全屏模式了。当视频播放时,你可以点击全屏按钮或者旋转屏幕来进入全屏模式,再次点击全屏按钮或者旋转屏幕可以退出全屏模式。