我有具有自定义样式的 Activity ,我希望我的 Activity 具有自定义标题栏,因此我创建了以下样式:
<style name="costum_titlebar">
<item name="android:background">@color/titlebar_background</item>
</style>
<style name="CustomTheme" parent="android:Theme">
<item name="android:windowTitleSize">@dimen/titlebar_size</item>
<item name="android:windowTitleBackgroundStyle">@style/costum_titlebar</item>
</style>
在 list 中,我使用:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/CustomTheme" >
在 Activity 中,我使用:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
this.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.setting_activity_titlebar);
到目前为止,一切都很好,并且效果很好,我在使用自定义标题栏进行了 Activity 。
现在,我想使用datePickerDialog。问题是对话框看起来很旧:
但我希望它看起来像这样:
我也有这种风格:
<style name="AppBaseTheme" parent="android:Theme.Light">
所以我用它来创建DatePickerDialog,如下所示:
new DatePickerDialog(getActivity(),R.style.AppBaseTheme, this, year, month, day);
但是该主题将不适用。
只是为了测试,我创建了第二个具有默认样式的应用程序,只有一个按钮可以打开日期选择器,因此datepicker
看起来像我想要的。两个应用都有
android:minSdkVersion="8"
我认为问题出在自定义标题栏上,那么如何获得具有所需样式的自定义标题栏和日期选择器?
编辑:
我更改了
android:minSdkVersion="11"
和<style name="datePickerTheme" parent="@android:style/Widget.Holo.DatePicker"></style>
和new DatePickerDialog(getActivity(),R.style.datePickerTheme, this, year, month, day);
但是结果仍然是相同的。
最佳答案
我知道这还不算太晚,但是我在搜索有关DatePickers的其他内容时走进了这个主题。
将此添加到您正在使用的自定义主题:
<item name="android:datePickerStyle">@android:style/Widget.DatePicker</item>
这将覆盖您正在使用的父主题,并导致外观不同的DatePicker。
您将需要使用此自定义主题创建对话框。
我的主题示例:
<style name="CustomTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
<item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="android:actionButtonStyle">@style/MyActionBarButtonStyle</item>
<item name="android:actionMenuTextColor">#ffffff</item>
<item name="android:windowBackground">@drawable/bg</item>
<item name="android:datePickerStyle">@android:style/Widget.DatePicker</item>
</style>