我正在使用layout
文件夹中的xml
来声明我的微调器。例如:
<Spinner
android:id="@+id/foo_spinner"
android:layout_width="0sp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="30sp" />
我在代码中加载微调器条目。我的问题是文本大小不受影响。我可以把100sp
放在那里,但什么都不会发生。我是否必须在加载微调器内容后更改它?每次更新内容后都需要执行此操作吗?
如果要自定义项目Spinner
文本大小,则必须使用该项目Spinner
自定义布局。
假设,为名为 custom_spinner_item.xml
Spinner
项创建自定义TextView
布局,如下所示...
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp" />
现在,使用此布局 XML 显示微调器项,如下所示:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.custom_spinner_item, list);
另一件事,您应该使用 dp
或 dip
而不是 sp
作为属性android:layout_width
并且android:textSize
不适合Spinner
元素。
<Spinner
android:id="@+id/foo_spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />