【问题标题】:How to show a WebView with Theme.Dialog style in Android如何在 Android 中显示带有 Theme.Dialog 样式的 WebView
【发布时间】:2010-08-29 18:48:38
【问题描述】:

我在清单中声明了一个 WebView 活动,如下所示:

<activity android:name=".MyWebView"
    android:label="@string/app_name"
    android:configChanges="orientation|keyboardHidden"
    android:theme="@android:style/Theme.Dialog">
</activity>

WebView 如下所示:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     >
    <WebView android:id="@+id/webview"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
    />
</LinearLayout>

当我在主活动中启动此活动时,只有包含应用程序名称的对话框标题可见,但 WebView 不可见。如果我将 TextView 添加到 LinearLayout,它也会显示,但仍然缺少 WebView。 如果我不在清单中应用android:theme="@android:style/Theme.Dialog",则会显示 WebView。

为什么会这样?如何在对话框中显示 WebView?

【问题讨论】:

    标签: android dialog themes webview


    【解决方案1】:

    我发现如果将 webview 更改为 wrap_content 而不是 fill_parent,它会起作用。不知道为什么。这可能是一个错误。

    【讨论】:

    • 很好,适合我。 :) 显示 WebView 需要一段时间(因此,一开始只有标题)但也许我会在加载网站时添加无限进度。
    【解决方案2】:

    我发现的最好方法是这样的一个小技巧:

    注意 minWidth 和 minHeight 的 1000dp

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:minWidth="1000dp"
              android:minHeight="1000dp" >
    
        <WebView android:id="@+id/web_view"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent" />
    
    </LinearLayout>
    

    另一种方法是在 WebView 上包装内容,但在加载网页之前它不会展开。所以它会从小开始,然后展开。这种骇人听闻的方式会在开始时生成大对话框。

    【讨论】:

      【解决方案3】:

      我认为你正在做的事情会奏效。也许尝试覆盖对话框类而不是活动类。

      【讨论】:

      • 无论哪种方式,我都无法正常工作。你能举个例子吗?
      【解决方案4】:

      使用 WebView 作为根布局 - 没有任何周围元素。 不知道为什么它不适用于周围的布局。

      【讨论】:

        猜你喜欢
        • 2013-01-12
        • 2015-01-23
        • 1970-01-01
        • 2019-02-08
        • 2014-09-15
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多