Android WebView密度问题

时间:2015-02-03 10:19:27

标签: android twitter-bootstrap width android-webview pixel

WebView类遇到了一些问题。我在RelativeLayout中有一个WebView。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webViewFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFF00"
android:orientation="vertical" >

<WebView
    android:id="@+id/mWebView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" 
    android:background="#0000FF"/>

<Button
    android:id="@+id/adminBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:text="Admin" />

</RelativeLayout>

WebView包含在片段中,代码就是这个

public class WebViewFragment extends Fragment {

private WebView webView;
private Button adminBtn;
private String url = "http://www.my-local.guide"

@SuppressLint("SetJavaScriptEnabled")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.webview_fragment_layout,
            container, false);

    webView = (WebView) rootView.findViewById(R.id.mWebView);

    webView.getSettings().setSupportZoom(false);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setDisplayZoomControls(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.setInitialScale(120);

    webView.setWebViewClient(new WebViewClient() {
    });
    webView.loadUrl(url);

    adminBtn = (Button) rootView.findViewById(R.id.adminBtn);
    adminBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            showCheckPasswordDialog();
        }
    });

    return rootView;
}

public static WebViewFragment get() {
    WebViewFragment fr = new WebViewFragment();
    return fr;
}

private void showCheckPasswordDialog() {

    CheckPasswordDialog checkPasswordDialog = CheckPasswordDialog.get();
    checkPasswordDialog.show(getFragmentManager(), SHOW_PASSWORD_DIALOG);
}

}

似乎WebView将其宽度缩放到960px。我在页面上写了一个js脚本,它告诉我页面的宽度是960px。 我需要设置一个更大的页面宽度,以便在我的嵌入式网站中使用Bootstrap作为框架。 无论如何,使用google.com作为网址我可以获得所有屏幕的宽度,所以我猜我是否必须使用特定的css规则960ps宽度或者我是否可以修改WebView的宽度

谢谢你的时间

1 个答案:

答案 0 :(得分:1)

最后我修复了它,我添加了许多覆盖自己的函数

webView = (WebView) rootView.findViewById(R.id.mWebView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setInitialScale(100);

此代码有效