如何更改默认的白色背景 WebView Flex

Posted

技术标签:

【中文标题】如何更改默认的白色背景 WebView Flex【英文标题】:How change default white background WebView Flex 【发布时间】:2013-07-20 21:38:46 【问题描述】:

我的问题是,我的应用程序有黑色背景。我插入了 webview 来显示 html 页面,但是当页面加载时,webview 的背景是白色的。我需要有黑色背景,因为应用程序和页面有黑色背景。可能吗?我只找到了适用于 android 的答案,但没有找到适用于 Flash Builder Mobile 的答案。

我尝试在额外的编译器参数 -default-background-color #000000 中设置它,但什么也没发生。

感谢建议

    <?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" title="example"
        creationComplete="webexample(event)">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>


    <fx:Script>

        <![CDATA[
            import mx.events.FlexEvent;
            protected var webView:StageWebView = new StageWebView();

            protected var counter:int = 0;
            protected var url:String = "http://www.blackpages.at/";

            protected function addedToStageHandler():void
            
            

            protected function removedFromStageHandler():void
            
                webView.dispose();
                stage.removeEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChangeHandler);
            

            protected function orientationChangeHandler(event:StageOrientationEvent):void
            
                resizeWebView();
            

            protected function resizeWebView():void
            
                webView.viewPort = new Rectangle(0, 0, 1280, 720);
            

            public function webexample(event:FlexEvent):void
            

                webView.stage = stage;
                resizeWebView();
                webView.loadURL(url);
                stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChangeHandler);

                if (Build.VERSION.SDK_INT >= 11) 
                    webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
                   
            
        ]]>
    </fx:Script>
</s:View>

【问题讨论】:

【参考方案1】:

尝试禁用硬件加速:

if (Build.VERSION.SDK_INT >= 11) 
    webview.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);

而不是 webview 使用对您的 WebView 的引用。 有同样的问题并以这种方式修复。

【讨论】:

您能解释一下如何禁用硬件加速吗?我试图找到一些教程,但没有找到。 看代码sn-p。 wvBrowser 在哪里使用对您的 WebView 对象的引用。 我试过了,但它给了我错误 - 通过静态类型 StageWebView 的引用调用可能未定义的方法 setLayerType。 您只需要在 API Level >= 11 的设备上使用此代码

以上是关于如何更改默认的白色背景 WebView Flex的主要内容,如果未能解决你的问题,请参考以下文章

去掉WebView中的白色背景

Android webview周围有白色边框,我该如何摆脱它?

如何在 android 中更改默认的 toast 消息颜色和背景颜色?

如何在 Webview2 中使用透明度?

我可以在WebView中注入什么JavaScript / CSS来仅反转页面背景和白色文本?

Flutter webview我想在向上或向下拉动应用程序时删除白色背景