我有自定义样式的活动,我希望我的活动有一个自定义标题栏,所以我创建了以下样式:
<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>
在清单中我使用:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/CustomTheme" >
在我使用的活动中:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
this.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.setting_activity_titlebar);
到目前为止它很好并且工作正常,我的自定义标题栏有活动 现在我想使用datePickerDialog。问题是对话框看起来很旧:
但我希望它看起来像这样:
我也有这种风格:
<style name="AppBaseTheme" parent="android:Theme.Light">
所以我用它来创建这样的DatePickerDialog:
new DatePickerDialog(getActivity(),R.style.AppBaseTheme, this, year, month, day);
但主题不适用。
只是为了测试,我创建了第二个具有默认样式的应用程序,只需一个按钮即可打开日期选择器,因此日期选择器
看起来像我想要的。这两个应用都有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);
但结果仍然相同。
答案 0 :(得分:13)
我知道这有点晚了,但在我搜索关于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>
答案 1 :(得分:7)
试试这样:
style="@android:style/Widget.DatePicker"
答案 2 :(得分:5)
DatePickerDialog dateDialog = new DatePickerDialog(getActivity(),
android.R.style.Theme_Holo_Light_Dialog,
ondateSet, year, month, day);
dateDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
这是用于显示白色浅色背景日期选择器片段。