【问题标题】:Fix CalendarView style修复 CalendarView 样式
【发布时间】:2016-02-25 14:33:48
【问题描述】:

在 Android 6 上,我在 CalendarView 中遇到错误。我尝试为我查找修复程序,但 it 对我没有帮助。

现在我与 CalendarView 的对话框如下所示:

还有来自风格的这段代码:

 <style name="Widget.CalendarView.Custom" parent="android:Widget.CalendarView">
        <item name="android:focusedMonthDateColor">@color/edittext_primary</item>
        <item name="android:weekNumberColor">@color/white</item>
        <item name="android:selectableItemBackground">@color/edittext_primary</item>
        <item name="android:state_focused">@color/edittext_primary</item>
        <item name="android:dayOfWeekBackground">@color/edittext_primary</item>       
    </style>

如何解决?

【问题讨论】:

  • 有什么问题?对不起,我没明白。
  • @Saumik Bhattacharya - 黑圈是我的问题

标签: android android-styles calendarview


【解决方案1】:

这一行导致了问题——

&lt;item name="android:focusedMonthDateColor"&gt;@color/edittext_primary&lt;/item&gt;

如果需要,您可以尝试this 替代方法。

编辑部分:

根据 Android,documentationandroid:focusedMonthDateColorandroid:weekNumberColorandroid:dayOfWeekBackground 在 API 级别 23 中已弃用。

因此我尝试了以下方法,我可以看到当前日期以默认方式突出显示。

String date = "25/2/2016";
String parts[] = date.split("/");

int day = Integer.parseInt(parts[0]);
int month = Integer.parseInt(parts[1]);
int year = Integer.parseInt(parts[2]);

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, (month - 1));
calendar.set(Calendar.DAY_OF_MONTH, day);

long milliTime = calendar.getTimeInMillis();
CalendarView calendarView = (CalendarView)findViewById(R.id.cview);
calendarView.setDate(milliTime,true,true);

希望这会奏效!

【讨论】:

  • 现在发生了什么?又是同样的问题吗?
  • @ArtemShevchenko -- 我尝试了一些东西。对我来说看起来很完美。请检查我答案的编辑部分并告诉我。
  • 我使用 DatePickerDialog
  • @ArtemShevchenko -- 你能试试我在最后提到的任何东西吗?
猜你喜欢
  • 2012-03-13
  • 1970-01-01
  • 2012-02-12
  • 2022-11-16
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-05
相关资源
最近更新 更多