jQuery Mobile的列表视图 - 幻影/不在的Android 4.0更新(jQuery Mo

2019-10-16 16:34发布

我看到下面的拙劣的listview中Android模拟器(jQuery Mobile的+ PhoneGap的,机器人4):

当第一次显示的页面,如预期所显示的列表,但随后的内容立即隐藏。 触摸显示器几次更新为:

该列表本身是没有什么不寻常的,即:

<div data-role="page" class="type-home" id="dine-around-list" data-add-back-btn="true">
    <div data-role="header" data-position="fixed" data-theme="e">
        <h1>Venue</h1>
    </div>
    <div data-role="content" class="content">
        <h3>Restaurants</h3>
        <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b">
            <li><a href="#dinearound1">EDGE Restaurant at The Four Seasons Denver</a></li>
            <li><a href="#dinearound3">The Ninth Door</a></li>
            <li><a href="#dinearound4">Bistro Vend&#244;me</a></li>
            <li><a href="#dinearound5">JAX Fish House &amp; Oyster Bar</a></li>
            <li><a href="#dinearound6">Venice Ristorante &amp; Wine Bar</a></li>
            <li><a href="#dinearound7">The Kitchen</a></li>
            <li><a href="#dinearound8">Capital Grille</a></li>
            <li><a href="#dinearound9">ChoLon</a></li>
            <li><a href="#dinearound10">Prima Ristorante</a></li>
            <li><a href="#dinearound11">Osteria Marco</a></li>
        </ul>
    </div>
</div>

任何想法,为什么会发生这种情况? 我只在Android模拟器看到了这一点在Android 4,而不是任何其他Android版本。

UPDATE:一般建议以激活清单,即硬件加速:

<application android:icon="@drawable/icon" 
             android:label="@string/app_name" 
             android:hardwareAccelerated="true" >

你也可以做到这一点的代码,即:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH ){
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
}

使得虽然没有什么区别。

Answer 1:

奇怪的是,除去在应用程序中使用的自定义CSS以下解决了这个问题:

.ui-page { -webkit-backface-visibility: hidden; }

这条线,企图消除在Android上的页面过渡闪烁之前增加(其最终被指定解决$.mobile.defaultPageTransition = 'none';与它生活)。

这是一个奇怪的一个 - 该解决方案似乎无关的问题。



文章来源: jQuery Mobile Listview - Phantom/not refreshed in Android 4