更改 Spinner 的分隔线颜色
Change the divider color of Spinner
由于我的弹出背景是白色的,我需要更改微调器分隔线的颜色。我已尝试通过以下方式设置微调器的样式,但它不起作用:
styles.xml
<style name="applicationTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:dropDownListViewStyle">@style/SpinnerStyle</item>
</style>
<style name="SpinnerStyle" parent="android:Widget.ListView.DropDown">
<item name="android:divider">#0193DE</item>
<item name="android:dividerHeight">1dp</item>
</style>
主要xml
<Spinner
android:id="@+id/year"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:background="@drawable/apptheme_spinner_default_holo_dark"
android:layout_marginLeft="75dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:spinnerMode="dropdown"
style="@style/SpinnerStyle"
android:popupBackground="#FFFFFF" />
java
ArrayAdapter<Integer> adapter_year = new ArrayAdapter<Integer>(this, R.drawable.custom_spinner_holidays, year);
adapter_year.setDropDownViewResource(R.layout.custom_spinner_popup);
custom_spinner_holidays.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="@android:color/white" />
custom_spinner_popup
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee"
android:singleLine="true"
android:textColor="#0193DE" />
我可以将所有这些合二为一吗?
也许最好的主意是制作您自己的微调器,您可以按照自己想要的方式设计它的样式。看看下一个话题,它对我很有用。
How to customize a Spinner in Android
你需要像这样把这个主题放在你的清单文件中:
<activity android:name="com.example.activity.Solution"
android:theme="@style/applicationTheme">
</activity>
由于我的弹出背景是白色的,我需要更改微调器分隔线的颜色。我已尝试通过以下方式设置微调器的样式,但它不起作用:
styles.xml
<style name="applicationTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:dropDownListViewStyle">@style/SpinnerStyle</item>
</style>
<style name="SpinnerStyle" parent="android:Widget.ListView.DropDown">
<item name="android:divider">#0193DE</item>
<item name="android:dividerHeight">1dp</item>
</style>
主要xml
<Spinner
android:id="@+id/year"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:background="@drawable/apptheme_spinner_default_holo_dark"
android:layout_marginLeft="75dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:spinnerMode="dropdown"
style="@style/SpinnerStyle"
android:popupBackground="#FFFFFF" />
java
ArrayAdapter<Integer> adapter_year = new ArrayAdapter<Integer>(this, R.drawable.custom_spinner_holidays, year);
adapter_year.setDropDownViewResource(R.layout.custom_spinner_popup);
custom_spinner_holidays.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="@android:color/white" />
custom_spinner_popup
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee"
android:singleLine="true"
android:textColor="#0193DE" />
我可以将所有这些合二为一吗?
也许最好的主意是制作您自己的微调器,您可以按照自己想要的方式设计它的样式。看看下一个话题,它对我很有用。
How to customize a Spinner in Android
你需要像这样把这个主题放在你的清单文件中:
<activity android:name="com.example.activity.Solution"
android:theme="@style/applicationTheme">
</activity>