Cuando giro mi teléfono Android al revés, mi actividad no gira para mostrar el diseño al revés, sino que permanece en modo horizontal. Intenté esto con una aplicación HelloWorld muy simple. Agregué android:configChanges="orientation"
al manifiesto y anulé onConfigurationChange()
en la Actividad para establecer puntos de interrupción allí. Girar el dispositivo al revés produce un cambio de configuración para pasar de vertical (boca arriba) a horizontal, pero no hay un segundo cambio de horizontal a vertical (boca abajo). ¿Es este un problema de Android o hay algo que deba hacer?La rotación al revés no activa el cambio de configuración
Manifiesto:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="hello.world"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:configChanges="orientation"
android:name=".HelloWorldActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Actividad:
public class HelloWorldActivity
extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
Log.e("MDO", "orientation change: landscape");
}
else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
{
Log.e("MDO", "orientation change: portrait");
}
}
}
¿Estás seguro de que tu dispositivo hace esto? Raramente veo aplicaciones que permiten esto. – DeeV
No he visto este comportamiento con algunas aplicaciones estándar (Configuración, navegador, etc.) que probé, pero es posible con 'android: screenOrientation =" fullSensor "' –