如何在WebView中显示Android操作栏

时间:2012-08-20 18:38:00

标签: android android-layout webview android-webview android-actionbar

如何在webview中启用ActionBar。我当前的代码直接在Web浏览器中加载页面并跳过我的所有其他活动逻辑,但我不确定原因。

主要活动

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.webview);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setTitle("My Page");
    actionBar.setDisplayShowHomeEnabled(false);

    WebView myWebView = (WebView) findViewById(R.id.webview);
    myWebView.loadUrl(http://www.google.com);
}

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"
    android:orientation="vertical" >

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

</LinearLayout>

我还尝试创建一个显示webview的对话框,但这也证明是不成功的。 谢谢!

2 个答案:

答案 0 :(得分:2)

  

如何在webview中启用ActionBar。

除了Button中的“启用ActionBar”之外,您不会这样做。操作栏是活动的UI组件,而不是窗口小部件。

  

我当前的代码直接在网页浏览器中加载页面并跳过我所有其他活动逻辑,但我不确定原因。

我很确定它正在执行你onCreate()的所有陈述。如果你使用调试器,你可以自己观察。

如果你的真正问题是没有出现操作栏,请确保你:

答案 1 :(得分:2)

好吧,所以我找到了问题的答案,但它更具技术性而不是任何东西。

问题是该链接是一个重定向页面,因此内置的Web浏览器应用程序正在劫持我的会话,将其添加到我的onCreate方法解决了它。

感谢您的回复!

myWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
});