From 2a46240b7cb0c28e0215ee83e51434147fb09d55 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 21 十月 2020 17:09:36 +0800 Subject: [PATCH] 项目结构优化 --- BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java | 87 +++++++++++++++++++++++++++++++++++++------ 1 files changed, 74 insertions(+), 13 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java index 11c3d45..7c4bc23 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java @@ -20,6 +20,8 @@ import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; +import android.view.WindowManager; +import android.webkit.ConsoleMessage; import android.webkit.DownloadListener; import android.webkit.SslErrorHandler; import android.webkit.WebChromeClient; @@ -33,10 +35,12 @@ import android.widget.Toast; import com.lcjian.library.util.ManifestDataUtil; +import com.tencent.smtt.export.external.interfaces.IX5WebChromeClient; import com.umeng.analytics.MobclickAgent; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.ui.BaseActivity; import com.weikou.beibeivideo.ui.media.VideoDetailActivity; +import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import com.weikou.beibeivideo.util.downutil.DownFiles; import com.weikou.beibeivideo.util.downutil.DownFiles.IProgress; import com.weikou.beibeivideo.widget.CustomWebView; @@ -48,10 +52,10 @@ private TextView tv_title; private TextView tv_right; private CustomWebView webview; - private FrameLayout fl_webview, fl_full_play; + private FrameLayout fl_webview; ProgressBar progressBar; - private final String TAG="FXBrowserActivity"; + private final String TAG = "FXBrowserActivity"; @Override protected void onCreate(Bundle savedInstanceState) { @@ -83,7 +87,6 @@ fl_webview = findViewById(R.id.fl_webview); - fl_full_play = findViewById(R.id.fl_full_play); tv_top_bar_left.setOnClickListener(this); webview = new CustomWebView(FXBrowserActivity.this); fl_webview.addView(webview, new FrameLayout.LayoutParams( @@ -112,7 +115,7 @@ String murl = url.split("buwanprotocol://")[1]; String[] params = murl.split("#"); if (params[0].equalsIgnoreCase("playvideo")) { - Intent intent = new Intent(FXBrowserActivity.this, VideoDetailActivity.class); + Intent intent = new Intent(FXBrowserActivity.this, VideoDetailActivity2.class); Bundle bundle = new Bundle(); bundle.putString("Id", params[1]); bundle.putString("ResourceId", params[2]); @@ -125,7 +128,7 @@ return true; } else if (url.contains("/tbopen/") || url.startsWith("tbopen://")) { return true; - }else if(!url.startsWith("http")) + } else if (!url.startsWith("http")) return true; return super.shouldOverrideUrlLoading(view, url); } @@ -133,6 +136,27 @@ @Override public void onPageFinished(WebView webView, String s) { super.onPageFinished(webView, s); + + webView.postDelayed(new Runnable() { + @Override + public void run() { + String js = "setInterval(function(){ $('.full-btn').click(function(){"; + js += "var el= document.getElementById('j-player-layout');"; + js += "if (el.requestFullscreen) {\n" + + "el.requestFullscreen();\n" + + "} else if (el.msRequestFullscreen) {\n" + + "el.msRequestFullscreen();\n" + + "} else if (el.mozRequestFullScreen) {\n" + + "el.mozRequestFullScreen();\n" + + "} else if (el.webkitRequestFullscreen) {\n" + + "el.webkitRequestFullscreen();\n" + + "}"; + js += "});},2000);"; + if (webView != null) + webView.loadUrl("javascript:" + js); + } + }, 1000); + } @Override @@ -142,22 +166,56 @@ }); webview.setWebChromeClient(new WebChromeClient() { + View myVideoView; + View myNormalView; + CustomViewCallback callback; + @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); tv_title.setText(title); } + /** + * 鍏ㄥ睆鎾斁閰嶇疆 + */ @Override - public void onShowCustomView(View view, CustomViewCallback callback) { - super.onShowCustomView(view, callback); - Log.i(TAG,"onShowCustomView"); + public void onShowCustomView(View view, + CustomViewCallback customViewCallback) { + LinearLayout normalView = (LinearLayout) findViewById(R.id.ll_container); + ViewGroup viewGroup = (ViewGroup) normalView.getParent(); + viewGroup.removeView(normalView); + viewGroup.addView(view); + myVideoView = view; + myNormalView = normalView; + callback = customViewCallback; + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); + WindowManager.LayoutParams attrs = getWindow().getAttributes(); + attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; + getWindow().setAttributes(attrs); } @Override public void onHideCustomView() { - super.onHideCustomView(); - Log.i(TAG,"onHideCustomView"); + if (callback != null) { + callback.onCustomViewHidden(); + callback = null; + } + if (myVideoView != null) { + ViewGroup viewGroup = (ViewGroup) myVideoView.getParent(); + viewGroup.removeView(myVideoView); + viewGroup.addView(myNormalView); + } + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + WindowManager.LayoutParams attrs = getWindow().getAttributes(); + attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN; + getWindow().setAttributes(attrs); + } + + @Override + public boolean onConsoleMessage(ConsoleMessage consoleMessage) { + Log.i(TAG, consoleMessage.message()); + return super.onConsoleMessage(consoleMessage); } }); progressBar = findViewById(R.id.myProgressBar); @@ -350,7 +408,8 @@ if (keyCode == KeyEvent.KEYCODE_BACK && getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); findViewById(R.id.v_status_bar).setVisibility(View.VISIBLE); - findViewById(R.id.top).setVisibility(View.VISIBLE); + if (findViewById(R.id.top) != null) + findViewById(R.id.top).setVisibility(View.VISIBLE); return true; } else if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack() & getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { webview.goBack(); // goBack()琛ㄧず杩斿洖WebView鐨勪笂涓�椤甸潰 @@ -364,10 +423,12 @@ super.onConfigurationChanged(newConfig); if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { findViewById(R.id.v_status_bar).setVisibility(View.GONE); - findViewById(R.id.top).setVisibility(View.GONE); + if (findViewById(R.id.top) != null) + findViewById(R.id.top).setVisibility(View.GONE); } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { findViewById(R.id.v_status_bar).setVisibility(View.VISIBLE); - findViewById(R.id.top).setVisibility(View.VISIBLE); + if (findViewById(R.id.top) != null) + findViewById(R.id.top).setVisibility(View.VISIBLE); } } } -- Gitblit v1.8.0