501 votes

Comment changer la couleur de texte et la taille du texte spinner ?

Dans mon application android, j’utilise spinner et j’ai chargé les données de la base de données sqlite dans le cône d’hélice et son travail properly.here est le code pour cela.

Maintenant j’ai baguette magique pour changer la couleur du texte et la taille du texte des données du cône d’hélice. J’ai utilisé la suite xml lignes à mon tag spinner sur mon fichier xml, mais il ne fonctionne pas.

Comment puis-je changer la couleur du texte et la taille du texte de mon spinner ??

884voto

Hiral Points 7845

Faire un fichier xml personnalisé pour votre élément spinner.

spinner_item.xml :

donner votre couleur personnalisée et la taille de texte dans ce fichier.

Maintenant utiliser ce fichier pour afficher vos éléments spinner comme :

Vous n’avez pas besoin de définir menu déroulant resource.it aura `` seulement pour montrer vos objets dans le cône d’hélice.

205voto

Ashraf Points 847

Simple et croustillante...

157voto

Whypee Points 211

Si tous les fileurs peuvent avoir la même couleur de texte pour leurs articles TextView, une autre approche consiste à utiliser un style personnalisé pour les éléments de liste déroulante spinner :

dans res/values/styles.xml :

et définissez votre couleur personnalisée dans res/values/colors.xml :

4voto

hemant Points 22

Plutôt que faire une présentation personnalisée pour obtenir de petite taille si vous souhaitez utiliser la petitesse interne d’android mise en page pour le cône d’hélice. vous devez utiliser.

« android. R.Layout.simple_gallery_item » au lieu de « android. R.Layout.simple_spinner_item »

peut réduire la taille de mise en page du tisseur c’est juste un truc simple.

1voto

whyoz Points 1308

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>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X