Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebView中的Sencha Touch 2白色屏幕_Android_Webview_Sencha Touch_Android Webview_Sencha Touch 2 - Fatal编程技术网

Android WebView中的Sencha Touch 2白色屏幕

Android WebView中的Sencha Touch 2白色屏幕,android,webview,sencha-touch,android-webview,sencha-touch-2,Android,Webview,Sencha Touch,Android Webview,Sencha Touch 2,我正在将一个JavaScript应用程序从Sencha Touch 1.x迁移到Sencha Touch 2.x。它被指定在原生Android应用程序内的网络视图中运行。该应用程序在SenchaTouch1.x上运行。同时,为了让它在SenchaTouch2.x上运行,进行了大量的重构和调试。目前使用的Sencha Touch版本为2.4.2 我在桌面版Firefox上做了一些测试。这基本上是可行的,但测试是有限的,因为Sencha Touch应用程序高度依赖于本机Android应用程序通过JS

我正在将一个JavaScript应用程序从Sencha Touch 1.x迁移到Sencha Touch 2.x。它被指定在原生Android应用程序内的网络视图中运行。该应用程序在SenchaTouch1.x上运行。同时,为了让它在SenchaTouch2.x上运行,进行了大量的重构和调试。目前使用的Sencha Touch版本为2.4.2

我在桌面版Firefox上做了一些测试。这基本上是可行的,但测试是有限的,因为Sencha Touch应用程序高度依赖于本机Android应用程序通过JS接口提供的多个对象和方法

现在,当在Android WebView中运行它时,我面临一个奇怪的问题:启动和渲染后,我看到的只是一个白色屏幕,而所有MVC依赖项都被加载,并且
Ext.application
中的
launch()
被正确触发。控制台中根本没有JavaScript错误,并且所有
Ext
类/对象/方法都可用

这是我的
Ext.application
块的基本设置:

Ext.application({
    name: 'MyApp',
    models: [
        'TestModel',
        'UserModel',
        'HauptmenueModel',
        /* ... */
    ],
    controllers: [
        'MyController'
    ],
    views: [
        'Benutzer',
        'Startseite',
        /* ... */
    ],
    stores: [
        'TestStore',
        'UserStore',
        'HauptmenueStore',
        /* ... */
    ],
    launch: function () {
        Ext.Viewport.add(Ext.create('MyApp.view.Startseite'));

        console.log(document.body.innerHTML.length);
    }
});
视图(例如
MyApp.view.startSite
视图)的定义非常传统:

Ext.define('MyApp.view.Startseite', {
    extend: 'Ext.Panel',
    config: {
        id: 'Startseite',
        layout: 'card',
        items: [
            /* ... */
        ]
    },
    /* ... */
});
有趣的是:Sencha Touch确实会生成大量HTML内容,这取决于我通过
Ext.Viewport.add()
加载的视图,我可以从我记录的
innerHTML.length
中推断出来。但网络视图中没有显示任何内容。如果我创建一个不同的视图并通过
Ext.Viewport.add()
加载它,则大小会随之改变,但视口保持白色


这可能是什么原因?我也非常感谢关于调试此问题或以某种方式隔离此问题的任何提示。

原因可能是WebView的布局本身。请检查WebView的布局高度。将其设置为
MATCH\u PARENT
应该可以完成此任务

建议将WebView布局高度设置为固定值或 匹配父项而不是使用换行内容

请参见此处的布局尺寸部分:

非常感谢,它很有魅力!(我已将
标记中的
android:layou-height
参数设置为
匹配\u-parent