首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在安卓系统中更改DatePicker的样式?

如何在安卓系统中更改DatePicker的样式?
EN

Stack Overflow用户
提问于 2015-05-14 22:14:28
回答 8查看 121.3K关注 0票数 62

我想在Android中更改日期/时间选择器对话框的默认颜色,以便它应该与我的应用程序的主题相匹配。我在谷歌上搜索了解决方案,但我找不到解决方案。

我所做的是创造一种新的风格:

代码语言:javascript
复制
  <style name="datepicker" parent="@android:style/Widget.DeviceDefault.DatePicker">
    <!---TODO-->
    <item name="android:focusedMonthDateColor">@android:color/holo_red_dark</item>
</style>

不知道日期选择器对话框有哪些可用属性。如果任何人都能在该上发布链接,那就太好了

在添加了样式之后,我在我的主样式中将其称为

代码语言:javascript
复制
 <item name="android:datePickerStyle">@style/datepicker</item>

不幸的是,这对我一点都不起作用。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2015-05-15 14:01:22

尝尝这个。这是最简单、最有效的方法

代码语言:javascript
复制
<style name="datepicker" parent="Theme.AppCompat.Light.Dialog">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/primary</item>
</style>
票数 65
EN

Stack Overflow用户

发布于 2016-07-29 15:26:34

像这样打电话

代码语言:javascript
复制
 button5.setOnClickListener(new View.OnClickListener() {

 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub

 DialogFragment dialogfragment = new DatePickerDialogTheme();

 dialogfragment.show(getFragmentManager(), "Theme");

 }
 });

public static class DatePickerDialogTheme extends DialogFragment implements DatePickerDialog.OnDateSetListener{

     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState){
     final Calendar calendar = Calendar.getInstance();
     int year = calendar.get(Calendar.YEAR);
     int month = calendar.get(Calendar.MONTH);
     int day = calendar.get(Calendar.DAY_OF_MONTH);

//for one

//for two 

 DatePickerDialog datepickerdialog = new DatePickerDialog(getActivity(),
 AlertDialog.THEME_DEVICE_DEFAULT_DARK,this,year,month,day);

//for three 
 DatePickerDialog datepickerdialog = new DatePickerDialog(getActivity(),
 AlertDialog.THEME_DEVICE_DEFAULT_LIGHT,this,year,month,day);

// for four

   DatePickerDialog datepickerdialog = new DatePickerDialog(getActivity(),
 AlertDialog.THEME_HOLO_DARK,this,year,month,day);

//for five

 DatePickerDialog datepickerdialog = new DatePickerDialog(getActivity(),
     AlertDialog.THEME_HOLO_LIGHT,this,year,month,day);

//for six

 DatePickerDialog datepickerdialog = new DatePickerDialog(getActivity(),
 AlertDialog.THEME_TRADITIONAL,this,year,month,day);


     return datepickerdialog;
     }

     public void onDateSet(DatePicker view, int year, int month, int day){

     TextView textview = (TextView)getActivity().findViewById(R.id.textView1);

     textview.setText(day + ":" + (month+1) + ":" + year);

     }
     }

按照这个,它会给你所有类型的日期选择器样式(从这里复制)

http://www.android-examples.com/change-datepickerdialog-theme-in-android-using-dialogfragment/

票数 93
EN

Stack Overflow用户

发布于 2017-10-05 14:44:52

要在应用程序级别更改DatePicker颜色(日历模式),请在下面定义属性。

代码语言:javascript
复制
<style name="MyAppTheme" parent="Theme.AppCompat.Light">
    <item name="colorAccent">#ff6d00</item>
    <item name="colorControlActivated">#33691e</item>
    <item name="android:selectableItemBackgroundBorderless">@color/colorPrimaryDark</item>
    <item name="colorControlHighlight">#d50000</item>
</style>

有关其他DatePicker自定义样式的信息,请参阅http://www.zoftino.com/android-datepicker-example

票数 52
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30239627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档