我相信Pragnani的答案是正确的,但这就是我实际实现它的方式......
-在 RES/layout 中,创建了一个仅包含文本视图的 XML 布局,如下所示。此文本视图具有我想要的自定义大小/填充。
spinner_row.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cust_view"
android:minWidth="246dp"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="left|center_vertical"
android:textColor="@android:color/black"
android:textSize="20sp"
android:paddingLeft="4dp"
android:textIsSelectable="false"/>
然后,在将数据加载到微调器的活动中,当我为微调器创建 ArrayAdapter 时,我将自定义文本视图作为第二个参数传递给 ArrayAdapter 构造函数。
Spinner spinClockInWorkSite = (Spinner)findViewById(R.id.spinClockInWorkSite);
ArrayAdapter spinClockInWorkSiteAdapter = new ArrayAdapter(this, R.layout.spinner_row, this.workSiteList);
spinClockInWorkSite.setAdapter(spinClockInWorkSiteAdapter);
因此,现在微调器使用我的自定义文本视图,该视图在spinner_row.xml中为列表中的每个项目定义。
这最终比玩弄风格更直接地满足了我的需求。