Android WebView失去了AppBar

时间:2017-01-17 12:40:44

标签: android webview appbar

我正在我的应用程序中加载WebView。我启用了一个AppBar,它在等待WebView加载时显示。页面加载后,看起来它会打开一个新活动并用自己的AppBar替换它。在这种情况下,我会很高兴有一个适当的向上按钮返回到父活动。 (我希望后退按钮和向上按钮一样工作)现在,后退按钮将我带回到xml布局,我不明白我是怎么离开的。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.realpayment.app.activities.ReadMessage"
android:background="@color/c_black">

<android.support.v7.widget.Toolbar
    android:id="@+id/my_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:elevation="4dp"
    android:theme="@style/JupiterTheme"
    app:popupTheme="@style/ThemeOverlay.AppCompat"/>
<WebView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/calledAction"
    android:layout_margin="15px"
    android:layout_below="@+id/my_toolbar"
    android:textColor="@color/c_white"
    />

我正在使用

在onCreate中初始化我的appbar
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

我正在使用

加载网页
WebView browser = (WebView) findViewById(R.id.calledAction);
browser.loadUrl(sCallToActionLink);

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

尝试使用线性布局

使用布局权重属性,以便webview覆盖工具栏留下的空间,并覆盖 shouldOverrideUrlLoading 方法,以确保页面导航应位于WebView中

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.realpayment.app.activities.ReadMessage"
android:background="@color/c_black">

<android.support.v7.widget.Toolbar
    android:id="@+id/my_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:elevation="4dp"
    android:theme="@style/JupiterTheme"
    app:popupTheme="@style/ThemeOverlay.AppCompat"/>
<WebView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:id="@+id/calledAction"
    android:textColor="@color/c_white"
    />

答案 1 :(得分:0)

我的问题是因为我正在浏览&#34; http://&#34;它被重定向到&#34; https://&#34;这导致了问题。修复链接和视图的行为应该如此。