android webview隐藏地址的方法

时间:2013-01-12 08:33:22

标签: android webview

我认为一段时间语法能够浏览本地网页。 但是我想要隐藏地址。 我多次测试都没有成功。

package org.webViewEx;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class WebViewEx extends Activity {

    // Controls
    private WebView m_webView;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Initialize controls
        m_webView = (WebView)findViewById(R.id.wvBrowser);

        // Initialize web view
        WebSettings webViewSettings = m_webView.getSettings();
        webViewSettings.setJavaScriptEnabled(true);
        webViewSettings.setDomStorageEnabled(true);
        webViewSettings.setDatabaseEnabled(true);
        webViewSettings.setDatabasePath("/data/data/"+getPackageName()+"/databases");

        // Override functions so that javascript alert() and confirm() can work
        m_webView.setWebChromeClient(new WebChromeClient()
        {
            @Override
            public boolean onJsAlert(WebView view, String url, String message,
                    final JsResult result)
            {
                new AlertDialog.Builder(WebViewEx.this)
                .setMessage(message)
                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        result.confirm();
                    }})
                .show();

                return true;
            }

            @Override
            public boolean onJsConfirm(WebView view, String url,
                    String message, final JsResult result)
            {
                new AlertDialog.Builder(WebViewEx.this)
                .setMessage(message)
                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        result.confirm();
                    }})
                .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        result.cancel();
                    }})
                .show();

                return true;
            }
        });

        // Initialize a webview client


        m_webView.setWebViewClient(new WebViewClient()
        {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl("file:///android_asset/ts.htm");
                return true;
            }
        });

        // Show main page
        m_webView.loadUrl("file:///android_asset/anttree.htm");
    }
}

我从互联网上学到了。使用这种方法可以成功隐藏。

m_webView.setWebViewClient(new WebViewClient()

{
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl("file:///android_asset/ts.htm");
        return true;
    }
});

但没有奏效 告诉我该怎么做 THX

1 个答案:

答案 0 :(得分:4)

WebView中没有地址栏。问题已在此处说明:在Android webview

中禁用地址栏

你可能想要的是删除标题。如果我没记错的话,名称/网址也会在活动标题中说明。你应该阅读:http://developer.android.com/resources/tutorials/views/hello-webview.html

您可以在manifest file

中为您的活动写下此标题
<activity android:name=".MyActivity" android:label="@string/app_name"
 android:theme="@android:style/Theme.NoTitleBar">