其实我已经创建了一个简单的应用程序,我想在屏幕方向的变化上显示另一个活动。我已经通过了堆栈溢出中给出的文档和示例,并通过使用这个我已经生成了我的应用程序和它的工作正常。但我唯一的疑问是,如果在我的主要活动的activity标签内的清单文件中,如果我使用android:screenOrientation="portrait"
然后运行应用程序,那么在屏幕方向的更改上我的下一个活动不会打开,但是如果我删除此代码从清单然后它工作正常。显示屏幕方向变化的活动问题
所以我的问题是,如果我希望我的主要活动总是以纵向模式打开的话,我应该在主要活动的清单中使用此代码..如果我这样做然后在屏幕的变化我的下一个活动未开启。
所以任何人都可以帮助我解决这个问题。我已经使用的代码是:
代码清单文件
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MainActivity"
android:configChanges="orientation"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ChartEngineActivity"
android:configChanges="keyboardHidden|orientation" >
</activity>
</application>
代码在主活性
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
Intent intentNotes = new Intent(this, ChartEngineActivity.class);
this.startActivity(intentNotes);
finish();
}
}
删除这个'android:screenOrientation =“portrait”'bez你的活动总是在肖像模式下打开所以'onConfigurationChanged'不叫 – 2012-03-22 06:09:37
我想你不明白我的问题..我知道它会工作,如果我删除android:screenOrientation =“肖像”,但让我们考虑一种情况..如果用户通过横向模式打开我的应用程序,那么发生在我的主要活动中的事件也将以横向模式打开。所以我总是以肖像模式打开我的主要活动,我用这个。所以我的问题是可以通过不替换这些代码来完成我的工作。 – AndroidDev 2012-03-22 06:16:30
Anshuman,在MainActivity的'onCreate'中设置屏幕方向代码在清单文件中不是静态的 – 2012-03-22 06:24:11