Android WebView 失去了 AppBar

标签 android webview appbar

我正在我的应用程序中加载 WebView。我启用了 AppBar,它在等待 WebView 加载时显示。页面加载后,它看起来像是打开了一个新 Activity 并用它自己的 AppBar 替换了我的 AppBar。在这种情况下,我会很高兴有一个正确的向上按钮返回到父 Activity 。 (我希望后退按钮和向上按钮一样工作)就目前而言,后退按钮将我带回到此处的 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);

感谢您的帮助!

最佳答案

尝试使用线性布局

使用布局权重属性使 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"
    />

关于Android WebView 失去了 AppBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41697469/

相关文章:

java - Toast 在调用方法之前运行

android - 如何在 Android 中设置 textView 的字体?

java - 如何使地理定位 webview 始终询问权限?

flutter - 从 Flutter 中的 Scaffold AppBar 中删除阴影?

android - Firebase JobDispatcher vs Evernote Android Job——这两者如何比较?

在 ViewPager 中使用 WebViews 的 Android 进程崩溃,硬件加速开启

java - Android WebView中无法获取cookie数据

javascript - winjs appbar.wincontrol 为空

silverlight - 如何在应用栏中集成枢轴控制?

android - 如何为自定义 ExpandableListView 调用 notifyDataSetChanged?