Autore Topic: Layout orentation  (Letto 461 volte)

Offline Riccardo_shaun87

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1
Layout orentation
« il: 05 Luglio 2015, 20:37:36 CEST »
0
Ciao a tutti avrei un dubbio,stavo facendo la mia app(per un esame)e ho creato 2 layout,1 per ogni orentation del device,in ogni activity ho fatto questo controllo nell'onCreate:

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
            setContentView(R.layout.activity_main);
        }else if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
            setContentView(R.layout.activity_main_land);
        }

ruotando il device/simulatore non cambia il layout,dove sbaglio?

Offline Bo

  • Utente junior
  • **
  • Post: 64
  • Respect: +3
    • Mostra profilo
  • Sistema operativo:
    windows 7
Re:Layout orentation
« Risposta #1 il: 05 Luglio 2015, 21:11:12 CEST »
0
Potresti provare in un altro modo :

Codice (Java): [Seleziona]
res/layout-land [Landscape Mode]
main.xml
res/layout-port [Portrait Mode ]
main.xml

quindi non modificare niente nella classe.
Spero di aver risolto

Offline Riccardo_shaun87

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1
Re:Layout orentation
« Risposta #2 il: 06 Luglio 2015, 12:04:07 CEST »
0
Non cambia lo stesso

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Layout orentation
« Risposta #3 il: 06 Luglio 2015, 16:25:50 CEST »
0
ruotando il device/simulatore non cambia il layout,dove sbaglio?

Secondo me alla linea 125...

;)

Ovviamente scherzo, ma se non posti qualcosa di più, almeno codice e manifest, è dura dirti dove sbagli...

Offline Bo

  • Utente junior
  • **
  • Post: 64
  • Respect: +3
    • Mostra profilo
  • Sistema operativo:
    windows 7
Re:Layout orentation
« Risposta #4 il: 06 Luglio 2015, 16:30:31 CEST »
0
Assicurati di aver chiamato i file xml con lo stesso nome e modifico la mia risposta precedente con la seguente (ho provato io stesso e va senza problemi). Crea un'altra resource e chiamala layout-land:

Codice (Java): [Seleziona]
res/layout [Portrait Mode ]
activity_main.xml
res/layout-land [Landscape Mode]
activity_main.xml

e nella classe solamente:

Codice (Java): [Seleziona]
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

Offline LonelyWolf

  • Utente junior
  • **
  • Post: 148
  • Respect: +12
    • Mostra profilo
    • Traversate dei laghi
  • Dispositivo Android:
    GT-I9505, ALE-L21
  • Sistema operativo:
    Windows 7 32/64
Re:Layout orentation
« Risposta #5 il: 06 Luglio 2015, 18:18:07 CEST »
0
Nel manifest hai impostato android:configChanges= per l'activity?
Se la mia risposta ti è utile, per favore un thanks!

Offline Riccardo_shaun87

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1
Re:Layout orentation
« Risposta #6 il: 07 Luglio 2015, 17:12:02 CEST »
0
questo è il manifest
Codice (Java): [Seleziona]
<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <!-- Splash screen -->
        <activity
            android:name="Splash_Screen"
            android:configChanges="orientation"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Main activity -->
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
        </activity>
    </application>
questo è il main
Codice (Java): [Seleziona]
 @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
ok ora lo gira ma il layout non è corretto



L'ultima è il corretto layout in landscape
« Ultima modifica: 07 Luglio 2015, 17:51:51 CEST da Riccardo_shaun87 »

Offline Bo

  • Utente junior
  • **
  • Post: 64
  • Respect: +3
    • Mostra profilo
  • Sistema operativo:
    windows 7
Re:Layout orentation
« Risposta #7 il: 07 Luglio 2015, 18:23:59 CEST »
0
Io non ho aggiunto niente nel manifest e andava bene semplicemente avendo layout e layout-land.
Prova a tenere così il manifest
Codice (Java): [Seleziona]
<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <!-- Splash screen -->
        <activity
            android:name="Splash_Screen"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Black.NoTitleBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Main activity -->
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
        </activity>
    </application>

Offline Riccardo_shaun87

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1
Re:Layout orentation
« Risposta #8 il: 07 Luglio 2015, 19:54:52 CEST »
0
Fatto nche questo ma non cambia,il layout cambia ma non è quello che ho impostato

Offline Bo

  • Utente junior
  • **
  • Post: 64
  • Respect: +3
    • Mostra profilo
  • Sistema operativo:
    windows 7
Re:Layout orentation
« Risposta #9 il: 07 Luglio 2015, 20:10:19 CEST »
0
Potresti postare anche il layout?

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Layout orentation
« Risposta #10 il: 09 Luglio 2015, 09:17:42 CEST »
0
Togli

Codice (XML): [Seleziona]
android:configChanges="orientation"
dal manifest.



Post unito: 09 Luglio 2015, 15:27:16 CEST
I file dei due layout hanno lo stesso nome?
Li hai messi in res/layout e res/layout-land come ti ha detto Bo?
« Ultima modifica: 09 Luglio 2015, 15:27:16 CEST da arlabs, Reason: Merged DoublePost »

Offline Friz02

  • Utente junior
  • **
  • Post: 104
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s3 neo Samsung
  • Sistema operativo:
    windows 7
Re:Layout orentation
« Risposta #11 il: 13 Luglio 2015, 21:26:37 CEST »
0
Scusa la DOMANDA (non pertinente con il topic) Riccardo_shaun87...come hai fatto ad inserire le immagini nel post?...hai cliccato l'icona "inserisci immagine" e poi hai trascinato dentro la foto?...perchè io non ci riesco.

Offline boyseez

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Github
    • Google+
    • boyseez
    • @GiuseppeRaddato
    • Mostra profilo
  • Dispositivo Android:
    Padfone 2
  • Sistema operativo:
    windows 8.1
Re:Layout orentation
« Risposta #12 il: 28 Luglio 2015, 22:05:26 CEST »
0
sei sicuro che i 2 layout abbiamo 2 grafiche diverse? 
Quale ambiente di sviluppo usi Eclipse o Android Sudio?
pubblica i 2 file xml relativi ai layout
spero di esserti stato utile
Boyseez :-)