设置AndroidManifest.xml中Activity的android:configChanges=”keyboardHidden|orientation|screenSize”
Android4.0需设置screenSize才有效果.
2.2,2.3这些只需设置keyboardHidden|orientation
4.0 --> keyboardHidden|orientation|screenSize
<activity
android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
Log.v(TAG, "ORIENTATION_LANDSCAPE");
}
if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
Log.v(TAG, "ORIENTATION_PORTRAIT");
}
if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO)
{
}
else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES)
{
}
}
来自:http://www.cnblogs.com/savagemorgan/archive/2013/01/24/2875586.html