2013-10-17 3 views
0

Je viens de poser une question de base concernant l'orientation. Actuellement, mon application prend en charge uniquement les téléphones en mode portrait. Je l'ai juste modifié pour supporter les tablettes, mais je me demande comment je peux le faire fonctionner pour les deux orientations pour tablette, en gardant l'orientation du téléphone au portrait. Voici une partie du code dans mon manifeste pour la mise à portrait:Définir le portrait pour le téléphone, mais aussi l'orientation portrait et paysage pour la tablette

<activity 
      android:name=".activities.SplashActivity" 
      android:clearTaskOnLaunch="true" 
      android:label="@string/app_name" 
      android:launchMode="singleTop" 
      android:noHistory="true" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppBaseTheme.NoActionBar" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 

       <data android:scheme="https" android:path="/msf1.0/public/mobilebootstrapper.aspx"/> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".activities.MainActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:launchMode="singleTask" 
      android:screenOrientation="portrait" 
      android:windowSoftInputMode="stateUnchanged|adjustResize" > 
     </activity> 

Répondre

4

Vous pouvez appeler la méthode setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); ine onCreate de votre activité si l'appareil est un téléphone. Pour déterminer si l'appareil est un téléphone ou une tablette, vous pouvez regarder this question.

+0

donc je configure fondamentalement setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); pour tablette? –

+1

Si vous souhaitez que l'appareil reconnaisse l'orientation en fonction du capteur d'orientation, vous devez le définir sur ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR. Toutes les constantes sont expliquées ici: http://developer.android.com/reference/android/R.attr.html#screenOrientation – 2Dee

+0

que faire avec l'orientation d'écran définie dans le manifeste comme portrait? –

Questions connexes