Utilizzando la più recente libreria AppCompat-v21
, ho utilizzato ActionBarActivity
per creare e popolare PreferenceFragment
. Tuttavia, lo ActionBar
non sembra cambiare altezza e dimensione del testo quando l'orientamento o le dimensioni dello schermo sono alterate. Provando questo anche su altre attività, sembra che questo comportamento stia accadendo solo in PreferenceActivity
(contrario a questa domanda posta qui: ActionBar capacity/overflow not changing on orientation change).ActionBar in PreferenceFragment non ricalcolare altezza e dimensione carattere
Prima di tutto, per gestire i cambiamenti di orientamento, ho aggiunto android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
al Manifest. Sospetto che questa sia la ragione principale di questo problema, ma come ho detto prima, funziona su altri Activity
s.
Ecco alcuni screenshot che spiegano il problema:
Lanciato PreferenceActivity
in modalità Ritratto:
ruotato di Paesaggio dal ritratto:
Lanciato PreferenceActivity
in Modalità orizzontale:
ruotato a Ritratto di Paesaggio:
Informazioni aggiuntive
Ecco la classe PreferenceActivity
:
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
public class PrefsActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getFragmentManager().beginTransaction().replace(android.R.id.content, new PrefsFragment()).commit();
}
}
Questo comportamento è un bug? In caso contrario, c'è una soluzione alternativa o una soluzione?
EDIT ho
Ho provato ad utilizzare il nuovo widget ToolBar
, ma senza fortuna.
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
public class PrefsActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preference);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_pref);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getFragmentManager().beginTransaction().replace(R.id.pref_frame, new PrefsFragment()).commit();
}
}
Lo stesso problema qui. Ma nel mio caso la dimensione del font è semplicemente troppo piccola nel panorama, non importa come sia iniziata ... – Zordid
Hai provato a definire 'textSize' in styles.xml? A volte, Android ha un bug quando non si definisce un valore determinato. Puoi leggere questo: http://stackoverflow.com/q/16189877/3922207 e http://stackoverflow.com/a/12899367/3922207 –