Android平板电脑中未检测到方向变化
我目前在我的应用程序底部有以下代码(我也尝试过其他各种代码),用于检测方向变化:Android平板电脑中未检测到方向变化,android,cordova,jquery-mobile,Android,Cordova,Jquery Mobile,我目前在我的应用程序底部有以下代码(我也尝试过其他各种代码),用于检测方向变化: function orientation_changed (){ if ( is_portrait() ) { alert('ABC'); } else if ( is_landscape() ) { alert('234'); } clearTimeout(window.t); delete window.t; }
function orientation_changed (){
if ( is_portrait() )
{
alert('ABC');
}
else if ( is_landscape() )
{
alert('234');
}
clearTimeout(window.t);
delete window.t;
}
window.t = undefined;
window.onorientationchange = function (event)
{
window.t = setTimeout('orientation_changed();', 250);
}
function is_landscape()
{
var uagent = navigator.userAgent.toLowerCase();
if ( uagent.search('ipad') > -1 )
{
var r = ( window.orientation == 90 || window.orientation == -90 );
}
else
{
var r = ( screen.width > screen.height );
}
return r;
}
function is_portrait()
{
var uagent = navigator.userAgent.toLowerCase();
if ( uagent.search('ipad') > -1 )
{
var r = ( window.orientation == 0 || window.orientation == 180 );
}
else
{
var r = ( screen.width < screen.height );
}
return r;
}
功能方向\u已更改(){
如果(是_肖像())
{
警报(“ABC”);
}
else if(is_scape())
{
警报('234');
}
clearTimeout(window.t);
删除window.t;
}
window.t=未定义;
window.onorientationchange=函数(事件)
{
window.t=setTimeout('orientation_changed();',250);
}
函数是
{
var uagent=navigator.userAgent.toLowerCase();
if(uagent.search('ipad')>-1)
{
var r=(window.orientation==90 | | window.orientation==-90);
}
其他的
{
var r=(screen.width>screen.height);
}
返回r;
}
函数是
{
var uagent=navigator.userAgent.toLowerCase();
if(uagent.search('ipad')>-1)
{
var r=(window.orientation==0 | | window.orientation==180);
}
其他的
{
var r=(屏幕宽度<屏幕高度);
}
返回r;
}
但它从不开火。我尝试过其他方法来改变我的平板电脑的方向,但似乎都不管用。我的清单如下所示:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
package="com.pp.editable" android:versionName="1.1" android:versionCode="5" android:hardwareAccelerated="true">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:hardwareAccelerated="true"
android:debuggable="true">
<activity android:name="editabledelights" android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="17"/>
</manifest>
我使用的是联想IdeaPad。我正在使用JQuery mobile和Cordova 2.3.0。我做错什么了吗?您可能忘记添加事件侦听器来检测方向的变化
// attach the onOrientationChange event listener in your script tag
window.addEventListener( 'onorientationchange', OnOrientationChange, false );
希望能有所帮助。您可能忘记添加事件侦听器来检测方向变化
// attach the onOrientationChange event listener in your script tag
window.addEventListener( 'onorientationchange', OnOrientationChange, false );
希望对你有所帮助。这是因为你添加了“SCENSIZE”属性,只需删除该属性。这是因为你添加了“SCENSIZE”属性,只需删除该属性,我觉得自己很笨。在联想上,它只在系统设置中设置为纵向:P.必须启用方向切换。
我觉得自己很笨。在联想,它的设置为肖像只有在系统设置:P。必须启用方向切换