IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Spinner texte blanc


Sujet :

Composants graphiques Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut Spinner texte blanc
    Bonjour,

    J'ai crée ce code mais il n'a pas le même résultat sur tablette que sur smartphone


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
    				this, android.R.layout.simple_spinner_item, centres);
    		spinnerArrayAdapter
    				.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     
    		spinnerCentreInteret.setAdapter(spinnerArrayAdapter);
    Lorsque je clique sur le spinner, tous les textviews sont de couleur blanc indisociable par rapport à la couleur par défaut du fond par contre sur smartphone, la couleur du text est bien noir.

    D'où cela provient?

    Merci d'avance.

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Il faut regarder du coté du thème...

    Quel est le thème de ton application ?
    android.R.layout.simple_spinner_dropdown_item utilisera ce thème et donc avec un background défini par lui.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    Voici le theme de mon application:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    android:theme="@android:style/Theme.Black.NoTitleBar"

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Il faut privilégier le theme "Holo" sur tablette... Essayes avec Holo Dark.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    mais pour que Holo soit reconnu alors que le projet android est un projet sous 2.1, comment faire pour qu'il reconnaisse le theme Holo?

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Ben si c'est < 2.1 c'est pas prévu au départ pour tablettes... donc ....

    De toute manière.... si toute l'interface utilise le même thème, il n'y a pas de problème de "background" (à moins qu'il ne soit défini de manière direct dans le code des layout, et dans ce cas, peu importe le thème ça foirera à un moment ou à un autre).

    Une solution, overrider dans le thème de l'application l'attribut: "spinnerDropDownItemStyle", et le faire pointer sur le style que l'on veut avec le background que l'on veut.


    Autre solution, copier:
    android.R.layout.simple_spinner_dropdown_item.xml
    et utiliser sont propre layout de spinner qui définit le thème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@android:id/text1"
        style="?android:attr/spinnerDropDownItemStyle"
        android:singleLine="true"
        android:layout_width="match_parent"
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:ellipsize="marquee" />
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    Voici ce que j'ai fait j'ai crée 3 fichiers themes.xml:

    res/values:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar">
            <!-- Any customizations for your app running on pre-3.0 devices here -->
        </style>
    </resources>
    res/values-v11:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
      <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
            <!-- Any customizations for your app running on 3.0+ devices here -->
        </style>
    </resources>
    res/values-v14:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
            <!-- Any customizations for your app running on 4.0+ devices here -->
        </style>
    </resources>

    Déclaré mon adapter:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		CustomAdapter<String> spinnerArrayAdapter = new CustomAdapter<String>(
    				getApplicationContext(), R.layout.spinner_item, centres);
    		spinnerArrayAdapter
    		.setDropDownViewResource(R.layout.spinner_dropdown_item);

    ma classe CustomAdapter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    class CustomAdapter<T> extends ArrayAdapter<T> {
    		public CustomAdapter(Context context, int textViewResourceId,
    				T[] objects) {
    			super(context, textViewResourceId, objects);
    		}
     
    		@Override
    		public View getView(int position, View convertView, ViewGroup parent) {
    			View view = super.getView(position, convertView, parent);
    			if (view instanceof TextView) {
    				((TextView) view).setTextSize(SIZE_title_form);
    				((TextView) view).setTypeface(myTypeface);
    			}
    			return view;
    		}
     
    		public View getCustomView(int position, View convertView,
    				ViewGroup parent) {
    			// TODO Auto-generated method stub
    			// return super.getView(position, convertView, parent);
    			View v = convertView;
    			if (v == null) {
    				LayoutInflater inflater = getLayoutInflater();
    				v = inflater.inflate(R.layout.spinner_dropdown_item, parent, false);
    			}
     
    			TextView tt = (TextView) v.findViewById(android.R.id.text1);
    			tt.setTextSize(SIZE_title_form);
    			tt.setTextColor(Color.BLACK);
    			tt.setTypeface(myTypeface);
    			// label.setText(DayOfWeek[position]);
    			//
    			// ImageView icon=(ImageView)row.findViewById(R.id.icon);
    			// icon.setImageResource(image[position]);
    			return v;
    		}

    mon fichier spinner_item.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        style="?android:attr/spinnerItemStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:textColor="@android:color/black"
        android:textSize="18sp" >
     
    </TextView>
    mon fichier spinner_dropdown_item.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" encoding="utf-8"?>
    <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/text1"
        style="?android:attr/spinnerDropDownItemStyle"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:textColor="@android:color/black"
        android:textSize="18sp" />
    mais le résultat, c'est que la listview comporte du text surement de couleur blanc comme le background.

    Est-ce que j'ai mal procédé?

    Merci.

Discussions similaires

  1. CSS print - impression texte blanc
    Par clem037 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/09/2009, 11h34
  2. Imprimer texte blanc sur fond noir
    Par mickael28 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 23/04/2009, 17h33
  3. Texte blanc sur fond noir
    Par MikeV dans le forum E-Mailing
    Réponses: 2
    Dernier message: 14/01/2008, 20h49
  4. elinmination des blanc dans un text
    Par iam dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/05/2006, 16h07
  5. fonction qui initialise a blanc zone de texte
    Par access dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/11/2003, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo