2017-02-07 2 views
0

J'essaie de créer un Spinner personnalisé et je rencontre des difficultés à le faire.android: Customisation Spinner

C'est l'effet que je suis en train de réaliser: Desired Effect

Cependant, je trouve qu'il est très difficile de définir la couleur de fond du Spinner noir. J'ai essayé de régler la propriété android:background mais lorsque je le fais, le Spinner disparaît complètement comme si la hauteur était réglée sur 0. J'apprécierais vraiment toute aide.

En outre, voici le code que je utilise:

<Spinner 
     android:id="@+id/simpleSpinner" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="20dp" 
     android:backgroundTint="@color/white" 
     android:background="@color/black" 
     /> 
+0

Vous devez utiliser un adaptateur personnalisé pour la fileuse. Cela vous donnera la liberté d'utiliser une autre liste déroulante et une vue normale. – priyankvex

Répondre

0

essayer quelque chose comme ceci: dans la mise en page

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:background="@drawable/border" 
    android:gravity="center"> 

    <Spinner 
     android:id="@+id/spinner" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:background="@null" 
     android:textSize="16sp" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:src="@drawable/arrow_down" /> //your down arrow on right side 
</RelativeLayout> 

Pour frontière drawable:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <stroke 
     android:width="2dp" 
     android:color="#ffffff" /> 

    <solid android:color="#000000" /> 
    <corners 
     android:radius="0dp" /> 

    <padding 
     android:bottom="1dp" 
     android:left="1dp" 
     android:right="1dp" 
     android:top="1dp" /> 
</shape> 

Pour spinner couleur textview utiliser une disposition personnalisée pour l'article: spinner_item.xml

<?xml version="1.0" encoding="utf-8"?> 

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="20sp" 
    android:gravity="left" 
    android:textColor="#FFFFFF"   
    android:padding="5dp" 
    /> 

en Java: utiliser la mise en page

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list); 
+0

Cette réponse est correcte. Toutefois, lors de la sélection du spinner et de son ouverture, l'arrière-plan est blanc et aucune option n'est affichée. Pourquoi donc? – Pia1