Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private WebView mWebView;
- @SuppressLint("SetJavaScriptEnabled")
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if(android.os.Build.VERSION.SDK_INT >=11)
- {
- getWindow().addFlags(16777216);
- }
- setContentView(R.layout.activity_main);
- mWebView = (WebView) findViewById (R.id.webview);
- mWebView.getSettings().setJavaScriptEnabled(true);
- mWebView.loadUrl("http://myUrl");
- mWebView.setWebViewClient(new HelloWebViewClient());
- mWebView.getSettings().setSupportMultipleWindows(true);
- mWebView.setWebChromeClient(new ChromeClient());
- mWebView.setWebViewClient(new WebClient1()
- {
- @SuppressLint("NewApi")
- @ Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
- if (url.startsWith("vnd.youtube")){
- startActionMode((Callback) new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
- return true;
- } else{
- return false;
- }
- }
- }
- );
- }
- private class HelloWebViewClient extends WebViewClient {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- return true;
- }
- }
- private class ChromeClient extends WebChromeClient {
- FrameLayout.LayoutParams LayoutParameters = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
- FrameLayout.LayoutParams.MATCH_PARENT);
- private Object mCustomView;
- private RelativeLayout mContentView;
- private FrameLayout mCustomViewContainer;
- private CustomViewCallback mCustomViewCallback;
- @Override
- public void onShowCustomView(View view, CustomViewCallback callback) {
- // if a view already exists then immediately terminate the new one
- if (mCustomView != null) {
- callback.onCustomViewHidden();
- return;
- }
- mContentView.setVisibility(View.GONE);
- mCustomViewContainer = new FrameLayout(MainActivity.this);
- mCustomViewContainer.setLayoutParams(LayoutParameters);
- mCustomViewContainer.setBackgroundResource(android.R.color.black);
- view.setLayoutParams(LayoutParameters);
- mCustomViewContainer.addView(view);
- mCustomView = view;
- mCustomViewCallback = callback;
- mCustomViewContainer.setVisibility(View.VISIBLE);
- setContentView(mCustomViewContainer);
- }
- @Override
- public void onHideCustomView() {
- if (mCustomView == null) {
- return;
- } else {
- // Hide the custom view.
- ((View) mCustomView).setVisibility(View.GONE);
- // Remove the custom view from its container.
- mCustomViewContainer.removeView((View) mCustomView);
- mCustomView = null;
- mCustomViewContainer.setVisibility(View.GONE);
- mCustomViewCallback.onCustomViewHidden();
- // Show the content view.
- mContentView.setVisibility(View.VISIBLE);
- setContentView(mContentView);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement