Autore Topic: Bug in rotazione schermo  (Letto 295 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Bug in rotazione schermo
« il: 08 Luglio 2015, 09:17:37 CEST »
0
Salve a tutti.
Uso un navigation drawer. Insieme a toolbar appbarlayout e cordinatorlayout e tablayout. Funziona tutto bene.
Inizialmente avevo messo bel manifest gli attributi su configurati in modo da preservare le varie view dei fragmebt.
Ora uso anche cartelle layout-land per layout in landscape. Tali layout funzionano solo rimuovendo gli attributi nel manifest.
È giusti quello che faccio?
Inoltre non so se è un bug o altro. Ogni tanto nelle situazione di rotazione o riapertura activity o altro, il layout viene caricato creando dei margini e dei padding mai settati. Spazi nell'ordine di centimetri, i quali alternano tutta la grafica.

iClaude

  • Visitatore
Re:Bug in rotazione schermo
« Risposta #1 il: 09 Luglio 2015, 11:24:20 CEST »
0
Se usi diversi layout a seconda dell'orientamento dello schermo devi fare in modo che l'Activity venga distrutta e ricreata quando cambia l'orientamento.
Per fare questo devi togliere dal Manifest eventuali android:configChanges="orientation".

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Bug in rotazione schermo
« Risposta #2 il: 09 Luglio 2015, 13:30:41 CEST »
0
Per distrutta intendi che viene chiamato onDestroy()?
Quindi....per cambiare layout e in landscape e conservare le view? Non c'è una via di mezzo? In oltre in questo scenario posso settate dimensioni fisse alle view? Per esempio in portrait la mia recycleview fa scrollare la toolbar (appbar). Mentre in landscape mi è inutile questo scroll

iClaude

  • Visitatore
Re:Bug in rotazione schermo
« Risposta #3 il: 09 Luglio 2015, 19:30:00 CEST »
0
Per distrutta intendi che viene chiamato onDestroy()?
Quindi....per cambiare layout e in landscape e conservare le view? Non c'è una via di mezzo? In oltre in questo scenario posso settate dimensioni fisse alle view? Per esempio in portrait la mia recycleview fa scrollare la toolbar (appbar). Mentre in landscape mi è inutile questo scroll

Sì, viene distrutta e ricreata caricando il nuovo layout.
Se vuoi evitare questo comportamento nel manifest nel tag dell'Activity devi inserire android:configChanges="orientation|screenSize" e in questo caso devi fare override del metodo onConfigurationChanged per gestire il cambiamento di configurazione, quindi cambiare il layout ecc.
La prima soluzione è quella più semplice e preferibile.