Android:API 22 与 API 23 中的日历视图不同

Android : Calendar view different in API 22 vs API 23

我正在开发一个约会应用程序,用户会看到一个日历来选择日期。所以我包含了一个 CalendarView,但是当我 运行 应用程序处于不同的 API 级别时,CalendarView 显示不同。

API 23 :

API 22 岁及以下:

XML代码:

<CalendarView android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:id="@+id/calendar"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/appointment_toolbar"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

有没有办法以相同的格式为两个 API 显示 CalendarView?

希望这种方式可行。 找到CalendarView的源码,复制到你的程序中,然后用它替换源码的CalendarView

来自docs

The exact appearance and interaction model of this widget may vary between OS versions and themes (e.g. Holo versus Material), but in general a user can select a date by tapping on it and can scroll or fling the calendar to a desired date.

所以我认为这是不可能的。但是你可以使用一些第三方库来选择日期。

日历视图取决于主题和OS,但基本功能是选择日期,因此外观可能会有所不同。如果您希望 android 的所有版本都具有相同的外观,您可以使用第三方 CalendarView。试试 https://android-arsenal.com/tag/27.