Android疑难杂症-X5内核播放视频全屏问题

  1. 1. 直接上代码

直接上代码

1
2
3
4
5
6
<activity
android:name=".ui.act.community.WebActivity"
android:configChanges="keyboardHidden|keyboard|layoutDirection|screenLayout|screenSize|touchscreen|orientation"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustNothing|stateAlwaysHidden"
android:screenOrientation="sensor"/>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
private View myVideoView;
private WebChromeClient mWebChromeClient = new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int i) {
mProgressBar.setProgress(i);
if (i == 100) {
mProgressBar.setVisibility(View.GONE);
} else if (mProgressBar.getVisibility() != View.VISIBLE) {
mProgressBar.setVisibility(View.VISIBLE);
}
}

@Override
public void onShowCustomView(View view, IX5WebChromeClient.CustomViewCallback customViewCallback) {
super.onShowCustomView(view, customViewCallback);
ViewGroup viewGroup = (ViewGroup) mWebView.getParent();
viewGroup.removeView(mWebView);
viewGroup.setBackgroundColor(SimpleUtil.getColor(R.color.colorBlack));
viewGroup.addView(view);
myVideoView = view;
}

@Override
public void onHideCustomView() {
super.onHideCustomView();
if (myVideoView == null) {
return;
}
ViewGroup viewGroup = (ViewGroup) myVideoView.getParent();
viewGroup.removeView(myVideoView);
viewGroup.addView(mWebView);
}

};


@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
try {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
mTitleBar.setVisibility(View.GONE);
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
getWindow().clearFlags(
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
mTitleBar.setVisibility(View.VISIBLE);
}
} catch (Exception e) {
e.printStackTrace();
}
}