2012-02-14 7 views
4

ViewPagerを使用してタブメニューを取得しました。各タブには、android.support.v4パッケージのフラグメント(古いSDKとの互換性)が含まれています。断片の1つはWebViewFragmentWebと呼ばれます)です。私はそれをページャレイアウトに残したいと思います。問題は、私のWebViewが膨らんで、フルスクリーンモードで動作しているときです。WebViewをフラグメントにする(android.support.v4)

ウェブブラウザを自分のタブの下に置く方法はありますか? FragmentWeb.java

public class FragmentWeb extends Fragment { 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View mainView = (View) inflater.inflate(R.layout.fragment_web, container, false); 
    WebView webView = (WebView) mainView.findViewById(R.id.webview); 
    webView.loadUrl("http://www.google.com"); 
    return mainView; 
} 
} 

マイ・フラグメントのレイアウト:fragment_web.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <WebView 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 

</LinearLayout> 

答えて

6

これは以下を追加することによって行うことができ

はあなたに

マイ断片クラスをありがとうフラグメントコード内のonCreateViewにコード化し、WebViewClientを埋め込む呼び出し:

   webview.setWebViewClient(new MyWebViewClient()); 
      webview.getSettings().setPluginsEnabled(true); 
      webview.getSettings().setBuiltInZoomControls(false); 
      webview.getSettings().setSupportZoom(false); 
      webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
      webview.getSettings().setAllowFileAccess(true); 
      webview.getSettings().setDomStorageEnabled(true); 
      webview.loadUrl(mTabURL);  
     } 
     return v; 
    } 


    public class MyWebViewClient extends WebViewClient {   
     /* (non-Java doc) 
     * @see android.webkit.WebViewClient#shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String) 
     */ 


     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.endsWith(".mp4")) 
      { 
       Intent intent = new Intent(Intent.ACTION_VIEW); 
       intent.setDataAndType(Uri.parse(url), "video/*"); 

       view.getContext().startActivity(intent); 
       return true; 
      } 
      else { 
       return super.shouldOverrideUrlLoading(view, url); 
      } 
     } 
7

あなたは単に置き換えることによって、あなたのニーズにWebViewFragmentの現在の実装を適応させることができます。

import android.app.Fragment; 

import android.support.v4.app.Fragment; 

によって WebViewFragment.javaソースの自分自身のコピーで。

関連する問題