PhoneGap / HTML5和Android屏幕调整大小问题,从横向旋转到纵向

用户从风景转为纵向,而不是其他方式时,我正在遇到一个 Android手机应用程序的奇怪问题.

当屏幕从横向旋转到端口时,内容视口的高度似乎保持在以前的高度 – 但视口的宽度正确调整大小.以下图片尝试显示更清楚一点:

旋转到

我看到这个问题:Android Screen Orientation: Landscape Back to Portrait
…但接受的答案可能是真的,我不完全确定在那里被要求什么.

我只有一个布局/ main.xml可以进行认配置:

<?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"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

我也尝试了一些方向检测脚本,看看是否有帮助 – 我试过:

var viewPortHeight = $(window).height();
alert (viewPortHeight+" x "+$(window).width());
var headerHeight = $('div[data-role="header"]').height();
var footerHeight = 0;
var contentHeight = viewPortHeight - headerHeight - footerHeight;

// Set all pages with class="page-content" to be at least contentHeight
$('div[class="page-content"]').css({'min-height': contentHeight + 'px'});

并且

var devInfo = new Deviceinformation();
            devInfo.setorientation(0);
            time_column_count = Math.floor(viewport.height / 270);
            devInfo.setResolution({
                height  : $(window).width(),width : $(window).height()
            });

但是 – 没有骰子.这里有什么想法吗?

UPDATE

这只是ICS设备上的一个问题 – 在遇到此问题的设备上,横向模式实际上存在滚动问题. JQM Scroll用于在不同的div上启用滚动.

解决方法

我有一个类似的问题与phonegap一会儿.以下代码应该可以帮助您解决这个问题.

1 – 确保在html文件的头部中调用phonegap.js文件

2 – 在html页面的头部添加以下元标记

<Meta name="viewport" content="width=device-width,initial-scale=1">

3 – 在onDeviceReady()中添加一个事件监听器

<script type="text/javascript">
function onDeviceReady() 
{
    document.addEventListener("orientationChanged",updateOrientation);
}
</script>

4 – 如果要对差异方向(可能不同的图像)添加特定更改,请使用类似的switch语句

function updateOrientation()
{
    var e = window.orientation;
    switch(e)
    {  
        case 0:
            // PORTRAIT
        break;

        case -90:
            // LANDSCAPE
        break;

        case 90:
            // LANDSCAPE
        break;

        default:
            //PORTRAIT
        break;
    }        
}

5 – 在关闭JavaScript标签添加以下样式

<style>
    [data-role=page]{height: 100% !important; position:relative !important; top:0 !important;}
</style>

请尝试以上,让我知道如果它的工作,如果不是还有一些其他方法可以采取.

谢谢,L& L合作伙伴

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码