【发布时间】:2017-11-22 01:22:16
【问题描述】:
我正在寻找一些解决方案并尝试完成它。分隔线仍然没有显示出来。
我在styles.xml 中为我的主题设置了样式:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Others theme here. -->
<item name="android:dropDownListViewStyle">@style/mySpinnerStyle</item>
</style>
这是我的SpinnerStyle
<style name="mySpinnerStyle" parent="android:Widget.ListView.DropDown">
<item name="android:divider">#00ff00</item>
<item name="android:dividerHeight">1dp</item>
</style>
这是我的微调器片段代码:
Spinner chooseDate = (Spinner) view.findViewById(R.id.chooseDate);
String[] date_group = dateList.toArray(new String[dateList.size()]);
ArrayAdapter<String> itemDate = new ArrayAdapter<String>(getActivity(), R.layout.spinner, date_group);
itemDate.setDropDownViewResource(R.layout.spinner);
chooseDate.setAdapter(itemDate);
这是我的微调器布局 xml:
<Spinner
android:theme="@style/mySpinnerStyle"
android:spinnerMode="dialog"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:layout_marginRight="16dp"
android:id="@+id/chooseDate"
android:layout_width="match_parent"
android:layout_height="38dp"
android:background="@drawable/spinner_arrow" />
然后R.layout.spinner xml是这样的:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:textSize="22dp"
android:theme="@style/mySpinnerStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:gravity="center"
android:paddingRight="40dp"
android:singleLine="true" />
我点击我的微调器显示这样的对话框,最终没有分隔线......
我为我的微调器设置了样式,但我无法显示分隔线。不知道为什么?
任何帮助将不胜感激。提前致谢。
清单使用我的 AppTheme:
<application
android:allowBackup="true"
android:icon="@drawable/app_icon_512x512"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:name="android.support.multidex.MultiDexApplication">
【问题讨论】:
-
您是否尝试移除 Spinner 的背景?
-
是的,它不起作用。背景设置只是改变了我的微调框边框。
-
您的活动是否在清单文件中使用您的“AppTheme”?
-
是的,我的清单使用这个
android:theme="@style/AppTheme",就像我更新的问题一样。