当用户从风景转为纵向,而不是其他方式时,我正在遇到一个
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文件
<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; } }
<style> [data-role=page]{height: 100% !important; position:relative !important; top:0 !important;} </style>
请尝试以上,让我知道如果它的工作,如果不是还有一些其他方法可以采取.
谢谢,L& L合作伙伴