Une autre variation de Ashraf solution serait de faire en sorte que vous êtes en tenant compte des tailles d'écran. Vous aurez besoin d'obtenir de la toupie dans onCreate et de l'ensemble de l'auditeur après la configuration de l'adaptateur:
//set your adapter with default or custom spinner cell, then://
serverSpinner.setOnItemSelectedListener(spinnerSelector);
serverSpinner.setSelection(defaultServer);
Ensuite, vous pouvez commencer à modifier la taille du texte de la vue qui est avant le compteur est cliqué:
private AdapterView.OnItemSelectedListener spinnerSelector = new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
boolean tabletSize = getResources().getBoolean(R.bool.isTablet);
boolean largeTablet = getResources().getBoolean(R.bool.isLargeTablet);
if (tabletSize) { ((TextView)parent.getChildAt(0)).setTextSize(16); }
else if (largeTablet) { ((TextView)parent.getChildAt(0)).setTextSize(18); }
else { ((TextView)parent.getChildAt(0)).setTextSize(12); }
}
public void onNothingSelected(AdapterView<?> parent) {
}
};
Tout ce que vous devez faire est de créer la mise en page des dossiers spécifiques comme ceci:
les valeurs sw360dp
les valeurs sw600dp
les valeurs sw800dp
puis ajouter un fichier xml nommé "bool.xml" dans chacun de ces dossiers:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="isTablet">false</bool>
<bool name="isLargeTablet">false</bool>
</resources>