2012-03-08 15 views

Odpowiedz

24

Spróbuj użyć tej karty do wirówki:

ArrayAdapter<String> adapter = 
    new ArrayAdapter<String>(Home.Home_Group, R.layout.my_spinner_style, yourstringarray) 
{ 

    public View getView(int position, View convertView, ViewGroup parent) { 
     View v = super.getView(position, convertView, parent); 

     ((TextView) v).setTextSize(16); 
     ((TextView) v).setTextColor(
      getResources().getColorStateList(R.color.white) 
     ); 

     return v; 
    } 

    public View getDropDownView(int position, View convertView, ViewGroup parent) { 
     View v = super.getDropDownView(position, convertView, parent); 
     v.setBackgroundResource(R.drawable.spinner_bg); 

     ((TextView) v).setTextColor(
      getResources().getColorStateList(R.color.spinner_text) 
     ); 

     ((TextView) v).setTypeface(fontStyle); 
     ((TextView) v).setGravity(Gravity.CENTER); 

     return v; 
    } 
}; 

Dodaj ten xml do układu,

my_spinner_style.xml

<?xml version="1.0" encoding="utf-8"?> 
    <TextView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+android:id/text1" 
     style="?android:attr/spinnerItemStyle" 
     android:singleLine="true" 
     android:textColor="#ffffff" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:ellipsize="marquee" /> 

I wreszcie

spinner.setAdapter(adapter); 
1

Spróbuj zrozumieć, że są za pomocą listy rozwijanej przewidziane przez domyślne, które są dostępne w SDK.

PO PROSTU utwórz własny układ za pomocą niestandardowego adaptera.

14

Proste i ostre ....

private OnItemSelectedListener your_spinner _name= new AdapterView.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> parent, View view, int pos, 
      long id) { 

     ((TextView) parent.getChildAt(0)).setTextColor(Color.BLUE); 


    } 

    public void onNothingSelected(AdapterView<?> parent) { 

    } 
}; 
+0

Właśnie tego potrzebowałem. Jeśli robisz to w swojej funkcji onCreate() w działaniu, z twoją_spinner.setOnItemSelectedListener(), nie zapomnij, aby onCreate pojawił się, gdy orientacja twojej komórki zmieni się z ponieważ w przeciwnym razie wystąpi błąd zerowy. –

4

Najprostszą formą jest:

m_spnDia = (Spinner)findViewById(R.id.spiDia); 
TextView oTextView = (TextView)m_spnDia.getChildAt(0); 
oTextView.setTextColor(Color.RED); 
+2

npe: (.............. – kgandroid

+4

Zwraca punkt zerowy zerowy – ManishSB

3

Krótsza alternatywa Andro'd odpowiedź jest umożliwienie ArrayAdapter tworzyć widoki rzecz dla was z układem źródło:

final List<String> values = [SPINNER VALUES]; 
final ArrayAdapter<String> adapter = new ArrayAdapter<>(
    activity, R.layout.my_spinner_item, values); 
adapter.setDropDownViewResource(R.layout.my_spinner_dropdown_item); 
spinner.setAdapter(adapter); 

Następnie styl tekstu do własnych potrzeb w my_spinner_item.xml:

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="@style/my_spinner_item_style" 
/> 

Uwaga: my_spinner_dropdown_item jest używany, gdy lista wyboru pojawiają

uzyskać więcej informacji przeczytaj dokumentację Spinners.

Powiązane problemy