Quando si capovolge il telefono Android, la mia attività non ruota per mostrare il layout capovolto ma rimane in modalità orizzontale. Ho provato questo con un'app HelloWorld molto semplice. Ho aggiunto android:configChanges="orientation"
al manifest e ho annullato onConfigurationChange()
nell'attività per impostare i breakpoint lì. Ruotando il dispositivo capovolto si ottiene una modifica di configurazione per passare dal verticale (al contrario) al paesaggio, ma non un secondo passaggio da orizzontale a verticale (capovolto). Si tratta di un problema Android o c'è qualcosa che devo fare?La rotazione capovolta non attiva la modifica della configurazione
manifesto:
<?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>
attività:
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");
}
}
}
Sei sicuro che il tuo dispositivo funzioni? Raramente vedo app che consentono questo. – DeeV
Non ho visto questo comportamento con alcune app standard (Impostazioni, browser, ecc.) Che ho provato, ma è possibile con 'android: screenOrientation =" fullSensor "' –