2016-05-30 4 views
0

Das Dropdown-Menü "Spinner" war sehr knifflig. Das einzige, was ich denken konnte, ist eine übergeordnete Ansicht verursacht es so verhalten, dass entweder der Text oder die ganze Dropdown-Liste sich nicht in der Mitte von der Spinn Artikel wird in etwa so:Spinner-Dropdown wird nicht zentriert oder übergeordnet Übergeordnete Breite

enter image description here

Dropdown-Code:

<?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:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:ellipsize="marquee" 
android:textAlignment="center" 
android:textColor="#000000" 
android:paddingTop="20dp" 
android:paddingBottom="20dp" 
android:paddingLeft="50dp" 
android:paddingRight="50dp"/> 

Spinner-Code:

<Spinner 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/spinner_contour" 
    android:layout_below="@id/greeting_main_menu" 
    android:background="#ff515e6f" 
    android:layout_alignParentRight="true" 
    android:layout_marginTop="10.0sp" 
    android:layout_marginBottom="10.0sp" 
    android:popupBackground="#ffffff" 
    android:paddingStart="20dp" 
    android:paddingEnd="20dp" 
    android:paddingBottom="10dp" /> 

ich habe versucht, auf jeden Fall die offensichtlichen Margen und Polsterung Ergänzungen der Dropdown Gegenstände, ich bin ratlos. Ich möchte, dass sich das weiße Dropdown-Feld anordnet oder mindestens die gleiche Breite wie der hellblaue Spinner hat.

EDIT: Hier ist der Adapter Code, den ich für die Liste verwenden zumindest, es ist ziemlich einfach:

public void createSpinners() 
{ 
    spinnerContour = (Spinner) activity.findViewById(R.id.spinner_contour); 
    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(activity.getApplicationContext(), 
      R.array.contour_values, R.layout.custom_spinner_item); 
    adapter1.setDropDownViewResource(R.layout.custom_spinner_dropdown_item); 
    spinnerContour.setAdapter(adapter1); 
    spinnerContour.setOnItemSelectedListener(this); 

    spinnerBPM = (Spinner) activity.findViewById(R.id.spinner_bpm); 
    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(activity.getApplicationContext(), 
      R.array.bpm_values, R.layout.custom_spinner_item); 
    adapter2.setDropDownViewResource(R.layout.custom_spinner_dropdown_item); 
    spinnerBPM.setAdapter(adapter2); 
    spinnerBPM.setOnItemSelectedListener(this); 
} 
+0

fügen Sie Ihren Adaptercode hinzu – Pavya

Antwort

0

So stellt sich die Polsterung des Spinners aus bestimmt, der in der Dropdown-Liste den Offset. Stelle dir das vor!

Dies schien die Antwort zu sein: https://stackoverflow.com/a/29560301/1580355

Während ich jetzt versuchen, den Text Zentrum auszurichten, zumindest die Drop-Down-und Spinner Breiten sind jetzt gleich. Danke, dass du es dir angesehen hast.

Verwandte Themen