我相信 Pragnani 的回答是正确的,但这就是我实际实施它的方式......
- 在 RES/layout 中,创建了一个 XML 布局,其中只有一个 textview,如下所示。此文本视图具有我想要的自定义大小/填充。
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 时,我将自定义 textview 作为第二个参数传递给 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 中为列表中的每个项目定义的自定义文本视图。
这最终比玩这种风格更直接地满足了我的需求。