我想更改对话框微调器的popupBackground颜色。
在我的activity.xml
:
<Spinner
android:id="@+id/mCategorySpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView7"
android:entries="@array/recipeCategory"
android:spinnerMode="dialog"
android:popupBackground="@color/colorPrimary"
android:textAlignment="center" />
在我的activity.java
:
categorySpinner=(Spinner) findViewById(R.id.mCategorySpinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.recipeCategory, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
categorySpinner.setPrompt("Choose category");
categorySpinner.setAdapter(new NothingSelectedSpinnerAdapter(
adapter,
R.layout.category_spinner_row_nothing_selected,
this));
如果我在XML中更改android:popupBackground
,它仍然是默认的白色
但如果我改变背景它是有效的,但它不适用于对话框的背景。
答案 0 :(得分:1)
你可以像这样改变背景颜色和下拉图标
步骤1:在drawable文件夹中为旋转器的背景创建一个名为background.xml
的文件。
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent" />
<corners android:radius="5dp" />
<stroke
android:width="1dp"
android:color="@color/darkGray" />
</shape>
步骤2:现在将此背景应用于xml文件中的微调器
android:background="@drawable/background"
答案 1 :(得分:1)
1.使用spinner_selector.xml
显示更改后的颜色
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/holo_red_light"
android:state_pressed="true"/>
<item android:color="@android:color/white"
android:state_pressed="false"/>
</selector>
2.添加样式
将其添加到样式中,您可以在其他地方使用它。
<style name="spinner_style">
<item name="android:background">@drawable/spinner_selector</item>
</style>
3.将其添加到xml代码
将它用作微调器的背景。
<Spinner
android:id="@+id/mCategorySpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView7"
android:entries="@array/recipeCategory"
android:spinnerMode="dialog"
style="@style/spinner_style"
android:textAlignment="center" />