2017-01-22 4 views
8

Ich bin neu in Android App Entwicklung, wie ich Spinner erstellt habe, bemerkte ich einen zusätzlichen Platz/Auffüllung vertikal Drop-Down-Liste der Spinner am Anfang und Ende der Dropdown.Android Spinner entfernen Drop-Down vertikalen Extra-Raum/Polsterung

MainActivity.java:

public class MainActivity extends AppCompatActivity 
{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Spinner sr = (Spinner) findViewById(R.id.spinner); 
     String[] days = getResources().getStringArray(R.array.days); 
     ArrayAdapter<String> ar = new ArrayAdapter<>(this, R.layout.single_row, days); 
     sr.setAdapter(ar); 
    } 
} 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#666666" 
    tools:context="com.xxxxx.defaultspinner.MainActivity"> 

    <Spinner 
     android:id="@+id/spinner" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" 
     android:spinnerMode="dialog" 
     android:background="#898989"> 

    </Spinner> 

</RelativeLayout> 

single_row.xml

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/app_name" 
    android:textColor="#FFFFFF" 
    android:textSize="26sp" 
    android:background="#214161"> 

</TextView> 

enter image description here

enter image description here

Ich Hintergrund aller Ansichten auf andere Farbe festlegen, so dass ich die Quelle des zusätzlichen Speicherplatz/Padding identifizieren kann. Aber der extra Raum/Abstand hat einen weißen Hintergrund, den keiner der Ansicht hat.

Hinweis dies nicht wegen der spinnerMode = "Dialog" Option. Dieses Verhalten tritt auch auf, wenn spinnerMode = "Dropdown". Wie kann ich diesen Raum entfernen? oder mache ich etwas falsch?

+0

Ich bin auch vor demselben Problem – Rohit

Antwort

0

versuchen diese TextView

android:includeFontPadding="false" 

auf Ihre Zugabe wird es die TextView zusätzliche obere und untere Polsterung entfernen

+0

Nein, um den zusätzlichen Platz/padding ist nicht von der Textview, weil die Hintergrundfarbe des Textview # 214161 ist, wo als zusätzlicher Raum/padding Hintergrund # FFFFFF ist. Ich habe auch deine Antwort immer noch das gleiche Ergebnis getestet – HeiseN

0

Sie müssen nur die getDropDownView Methode in den Adapter außer Kraft setzen.

@Override 
public View getDropDownView(int position, View convertView, ViewGroup parent) { 
    parent.setPadding(0, 0, 0, 0); 
    return convertView; 
} 
Verwandte Themen