Question

J'ai un fichier xml menu déroulant spinner personnalisé dans / res / layout /:

spinner_view_dropdown.xml:

<?xml version="1.0" encoding="UTF-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinner_item_dropdown"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
style="@style/spinner_item_dropdown" />

J'installe le menu déroulant spinner via java:

// "Spinner", aka breadcrumbs
    Spinner spin = (Spinner) findViewById(R.id.breadcrumb_dropdown);

    ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.breadcrumb, R.layout.spinner_view);

    adapter.setDropDownViewResource(R.layout.spinner_view_dropdown);

    spin.setAdapter(adapter);
    // /"Spinner"

Malheureusement, un fond blanc existe toujours sur le popup spinner peu importe si je mets à l'arrière-plan transparent.

Comment puis-je résoudre ce problème?

Était-ce utile?

La solution

Vous pouvez remplacer le style de la liste déroulante, et l'élément de menu déroulant à l'aide d'un thème dans votre application qui hérite de l'un des thèmes Android, puis remplacer le

android:dropDownSpinnerStyle, ou android:spinnerDropDownItemStyle, et même l'attribut android:dropDownListViewStyle du thème, pointant vers votre propre style personnalisé au lieu du style Android qui est défini dans leur thème. J'ai créé une fileuse entièrement personnalisée de cette façon, avec un bouton transparent et menu déroulant. J'ai même débarrassé des séparateurs de liste déroulante et définir mon propre espace pour les éléments de liste déroulante quand je construit l'application tablette pour Fandango (jetez un oeil au cinéma sorte essoreuse sur la page principale de l'application).

Tout dans Android est personnalisable, il vous suffit de savoir où chercher. ; -)

Autres conseils

Essayez de régler sur la fileuse ceci:

android:popupBackground="@android:color/transparent"

La mise en page que vous définissez est utilisé uniquement pour un entrée de votre liste déroulante, et non le menu déroulant lui-même. Ainsi, la mise à l'arrière-plan transparent n'aura aucun effet sur son arrière-plan. Mais même si cela, la mise à l'arrière-plan transparent aurait toujours pas d'effet, parce qu'un TextView (en fait je crois que tout vue) a un fond transparent par défaut.

Cela étant dit, la bonne question serait la suivante: pouvez-vous fournir une mise en page personnalisée pour la vue parent d'une entrée (ce qui est probablement une liste)? Pour autant que je sache, la réponse est non, malheureusement.

Essayez

android:cacheColorHint="#00000000" 

pour obtenir la transparence.

Je ne sais pas si cela fonctionne pour vous, mais il y a un poste http: // développeurs android. blogspot.com/2009/01/why-is-my-list-black-android.html qui explique pourquoi les pièces mobiles d'une liste apparaissent dans la couleur de fond.

Peut-être son même problème avec votre spinner.

Il est un bogue dans 1.5 je pense, voir ici

http://www.symsource.com/index .php? view = article & id = 418 & option = com_content & format = pdf

Exécuter dans un émulateur 1.6 ou un périphérique, il ne reste toujours blanc?

En fait, je suis venu ici à la recherche d'une approche, je soupçonne que cela peut impliquer l'écriture manuelle sur la toile ou quelque chose comme ça.

Toutes les idées.

P.S. Accidentellement posté quand je pensais que j'ouvert une session, quelqu'un sait comment se débarrasser du commentaire anonyme? Peut-être un administrateur pourrait résoudre ce problème?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top