Android微调删除下拉垂直额外的空间/填充

我是新的android应用程序开发,因为我正在创build微调,我注意到一个额外的空间/填充垂直下拉列表的微调开始和结束的下拉列表。

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> 

在这里输入图像说明

在这里输入图像说明

我将所有视图的背景设置为不同的颜色,以便我可以识别额外空间/填充的来源。 但额外的空间/填充有白色的背景,没有任何的观点。

注意这不是因为spinnerMode =“dialog”选项。 当spinnerMode =“dropdown”时也会发生这种行为。 我怎样才能删除这个空间? 或者我做错了什么?

Solutions Collecting From Web of "Android微调删除下拉垂直额外的空间/填充"

尝试添加到您的TextView

 android:includeFontPadding="false" 

它将删除TextView额外的顶部和底部填充

您只需要重写适配器中的getDropDownView方法。

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