在Android PhoneGap中更改方向时,SplashScreen未更改

时间:2012-11-08 06:36:06

标签: android cordova orientation

我尝试为横向和纵向设置两个启动画面。为此,我在我的活动类

中写下了代码
if (getResources().getConfiguration().orientation == 2) {
            super.setIntegerProperty("splashscreen", R.drawable.equipsplashscreen);
            Log.d("Orientation", "Landscape");
        }
        else {
            super.setIntegerProperty("splashscreen", R.drawable.splashscreen);
            Log.d("Orientation", "Portrait");
        }

屏幕根据方向显示,但问题是..加载时屏幕没有改变(即我以纵向模式启动我的应用程序,加载启动画面时我将方向从纵向更改为横向,当时我的风景图片没有加载..只有肖像图像更改为风景风格)。

我使用的是cordova-1.8.0和jquery-1.7.1

我该怎么做...先谢谢你..

1 个答案:

答案 0 :(得分:0)

在Android中,我们必须像这样重写onConfigurationChanged方法

@Override
public void onConfigurationChanged(Configuration newConfig) {

    super.onConfigurationChanged(newConfig);
    if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
        setContentView(R.layout.splashscreen);
        init();
    } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        setContentView(R.layout.splashscreen);
        init();
    }
}

在Manifest中添加一个标签

<activity
    android:name=".YourActivity"
    android:configChanges="orientation|keyboardHidden"
    android:windowSoftInputMode="stateAlwaysHidden|adjustResize|adjustPan" />

现在检查phonegap中的要求,因为我不知道手机差距我给你提示在android中做了什么。