当用户从风景转为纵向,而不是其他方式时,我正在遇到一个
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合作伙伴