5

Attualmente eseguo il backport della mia applicazione per farlo funzionare sul dispositivo precedente alla 3.0 utilizzando actionbarsherlock.Barra delle azioni Blocco - le schede non rispondono all'orientamento orizzontale

Se un utente avvia l'applicazione in modalità verticale e quindi ruota lo schermo e prova a selezionare una scheda, non accade nulla finché l'utente non esegue un'altra azione. L'attuale build che lo fa può essere scaricato qui (sherlock-alpha1) http://tinyurl.com/cz95nup.

schede sono aggiunti nel modo seguente

 bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
     bar.addTab(bar.newTab().setText("tab1").setTabListener(this),false); 
     bar.addTab(bar.newTab().setText("tab2").setTabListener(this),false); 
     bar.addTab(bar.newTab().setText("tab3").setTabListener(this),false); 

Questo si verifica anche se si avvia l'applicazione nel paesaggio e poi utilizzarlo in modalità portrait (ritratto schede non funzionano).

Funziona correttamente sui dispositivi che eseguono la barra di azione nativa.

+0

Quale versione di minSDK stai correndo adesso? – Davek804

+0

@ Davek804 android: minSdkVersion = "7" – bencallis

+0

Recentemente ho fatto la stessa cosa e non ho riscontrato questo errore. Si verifica ancora se si passa da minVersion a 10? Su quale dispositivo di versione stai testando questo? È l'AVM? – Davek804

risposta

11

Si stanno gestendo modifiche di configurazione nel file manifest?

android:configChanges="orientation" 

Se così questo non permette la visualizzazione arredamento falso che ActionBarSherlock installa essere reinizializzato a rotazione che causerà molti problemi.

La gestione delle modifiche alla configurazione deve essere utilizzata con la massima parsimonia possibile. La documentazione afferma che .

Le versioni future della libreria si spera possano rendere conto per le persone che scelgono di farlo.

+0

Ho avuto la sensazione che potrebbe essere correlato a questo. Dovrò ri-lavorare il mio codice. Attualmente viene utilizzato per interrompere il download dell'elenco e per configurare la larghezza del frammento dell'elenco sul cambio di orientamento. Qualche idea semplice su come farlo in un modo diverso? Grazie per il supporto. – bencallis

0

Ho gli stessi problemi. Ho dovuto aggiungere questa linea e va bene su AVD, non so se funziona su dispositivi reali.

<supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:anyDensity="true" /> 
+0

Sembra non funzionare per me. – bencallis

3

Per me è stato non risponde dopo le modifiche di orientamento, non in modalità orizzontale. Dopo un sacco di tentativi ed errori ho trovato la seguente soluzione per questo bug:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
    super.onConfigurationChanged(newConfig); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
} 

Il trucco è quello di cambiare la modalità di navigazione per elencare poi cambiare di nuovo a schede.

+0

Ehi amico, è fantastico! – rocknow

Problemi correlati