无需定义适配器就可以更改Spinner的字体大小,仅需三步!
1、在values文件夹下新建一个styles.xml
- 在values文件夹下新建一个styles.xml
2、接着在resource里面进行属性的添加 (里面添加颜色什么都可以的,自己定义)
这里首先修改字体为11.8sp
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="setting_spinner" parent="@android:style/Widget.TextView.SpinnerItem" >
<item name="android:textSize">11.8sp</item>
</style>
</resources>
再修改字体颜色为蓝色
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="setting_spinner" parent="@android:style/Widget.TextView.SpinnerItem" >
<item name="android:textSize">11.8sp</item>
<item name="android:textColor">@color/blue</item>
</style>
</resources>
3. 在Spinner控件中添加theme属性就可以啦!
<Spinner
android:id="@+id/tv_external_video_signal_explain"
android:theme="@style/setting_spinner"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_below="@id/tv_external_input_video_signal_title"
android:background="@null"
android:clickable="false"
android:entries="@array/external_input_video_signal_array"
android:focusable="false"
android:spinnerMode="dropdown"
/>
那到这里就已经完成啦!
弄完之后在AS中自带的视图看不出效果的,所以需要自己编译安装后才可以看到效果!
(关于Spinner其他知识)
1、动态修改Spinner的条目
{
...
// 使用适配器进行动态修改条目
spinner.setAdapter(getAdapterForSpinner());
...
}
private ArrayAdapter<String> getAdapterForSpinner() {
final ArrayAdapter<String> adapter = new ArrayAdapter<>(
getApplicationContext(),
com.android.internal.R.layout.simple_spinner_item,
getResources().getStringArray(R.array.array));
adapter.setDropDownViewResource(com.android.internal.R.layout.simple_spinner_dropdown_item);
return adapter;
}
2、获取Spinner的条目数量
int Count = spinner.getAdapter().getCount();