2015-11-16 26 views
8

È possibile regolare l'altezza del menu a discesa Spinner per riempire l'intero schermo. In questo momento ho 3 elementi che aggiungo dinamicamente all'adattatore spinner, ma questi coprono solo metà dello schermo. Quello che ho in questo momento è qualcosa di simile:Altezza dropner per spinner in modo che corrisponda al genitore

enter image description here

Quello che voglio è qualcosa di simile:

enter image description here

potrei aggiungere elementi vuoti, ma che non risolverà il problema per diverse dimensioni dello schermo

ho cercato di attuare uno stile sul filatore, ma non ha funzionato

<style name="MyCustomSpinner" parent="Widget.AppCompat.Spinner.DropDown"> 
    <item name="android:dropDownHeight">match_parent</item> 
</style> 

UPDATE

ho una visione tra la barra delle azioni e filatore quindi non posso usare layout_weight=1 per il mio filatore

+0

significa che non lo si scorre? –

+0

hai provato lo spinner personalizzato ?? – sud

+0

Penso che dovresti andare con, Button al posto di Spinner e Usa Custom AlertDialog con Layout fill genitore per mostrare i tuoi oggetti Spinner ... penso che possa aiutarti. –

risposta

-1

In yourspinner.xml, aggiungere l'elemento android:minHeight="48dp" a TextView. vedere l'esempio sotto-

<TextView 

    android:id="@+id/textViewRowFacility" 
    android:minHeight="50dp" /> 
-1

Prova a mettere la vostra Spinner in LinearLayout & set di pesi filatore a 1 come

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <Spinner 
      android:id="@+id/spinner" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 

    </LinearLayout> 
-1

Impostare il peso del filatore di prendere l'intero spazio. Se nessun altro punto di vista è lì nel layout quindi utilizzare questo codice:

<Spinner 

      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 

Per saperne di più su di peso Android si riferiscono a this:

What does android:layout_weight mean?

+0

sì, ma ho altre visualizzazioni nel mio layout – stud91

+0

e voglio che la casella a discesa si adatti solo all'intero schermo e non all'intero rotore stesso – stud91

1

provare a utilizzare questo con il vostro adattatore.

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
-1

provare a utilizzare il codice qui sotto

ArrayAdapter<String> yourSpinnerAdapter = new ArrayAdapter<String>(this, 
      R.layout.spinner_item, yourItem) { 

    @Override 
    public View getDropDownView(int position, View convertView, 
      ViewGroup parent) { 
     convertView = super.getDropDownView(position, convertView, 
       parent); 

     convertView.setVisibility(View.VISIBLE); 
     ViewGroup.LayoutParams p = convertView.getLayoutParams(); 
     p.height = 100; // assign the required height here 
     convertView.setLayoutParams(p); 

     return convertView; 
    } 
}; 
1

L'unico modo per raggiungere questo obiettivo è quello di scrivere il proprio punto di vista che funziona come una trottola.