当前位置: 首页 > 知识库问答 >
问题:

Android的日历视图?

曹振
2023-03-14

我需要在我的Android应用程序中添加日历视图。我需要用户能够通过点击传统日历中的某一天来选择日期,该日历一次显示一个月,并且用户可以通过一些简单的方式在月份之间导航,例如点击按钮或滑动。我对造型不挑剔。此应用程序在智能手机格式的设备上运行。

当我在堆栈溢出中搜索这个问题时,首先会出现这个问题,它说除非您想编写自己的或使用第三方开放源代码,否则没有这样的东西。但这是4年前的事了。我最近看到过更多关于堆栈溢出的帖子,其中暗指日历视图,但没有详细说明。现在,在2016年,是否有一个现有的Android日历视图,我可以直接进入我的应用程序,它是Android SDK的一部分?如果是,我在哪里可以看到使用它的示例?

共有1个答案

方飞翼
2023-03-14

自2011年2月发布的API Level 11(Android 3.0)以来,CalendarView一直存在。

这个示例应用程序演示了它的基本用法。

<CalendarView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/calendar"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
/***
  Copyright (c) 2013 CommonsWare, LLC
  Licensed under the Apache License, Version 2.0 (the "License"); you may not
  use this file except in compliance with the License. You may obtain a copy
  of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required
  by applicable law or agreed to in writing, software distributed under the
  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
  OF ANY KIND, either express or implied. See the License for the specific
  language governing permissions and limitations under the License.

  From _The Busy Coder's Guide to Android Development_
    https://commonsware.com/Android
 */

package com.commonsware.android.wc.calendar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.CalendarView;
import android.widget.CalendarView.OnDateChangeListener;
import android.widget.Toast;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class CalendarDemoActivity extends Activity implements
    OnDateChangeListener {
  CalendarView calendar=null;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    calendar=(CalendarView)findViewById(R.id.calendar);
    calendar.setOnDateChangeListener(this);
  }

  @Override
  public void onSelectedDayChange(CalendarView view, int year,
                                  int monthOfYear, int dayOfMonth) {
    Calendar then=new GregorianCalendar(year, monthOfYear, dayOfMonth);

    Toast.makeText(this, then.getTime().toString(), Toast.LENGTH_LONG)
         .show();
  }
}

此外,还有许多第三方日期选择器,其中一些使用日历隐喻。

 类似资料:
  • 我需要一个Android日历视图像附上的照片。我已经尝试使用这个库https://github.com/alamkanak/android-week-view作为日历视图。这是一个固定的静态事件在日历添加仅。无法在此库日历视图中添加动态事件。有没有人可以推荐任何一个自定义库在Android。 日历视图库代码示例Android-Week-View: 我在这个图书馆所尝试的: 注: 我需要在此日历视图

  • 我试着搜索谷歌,找到一个链接Android-Week-View,但它没有帮助。

  • 我想显示一个日历,其中包含在日期上使用不同颜色的事件,类似于默认日历应用程序。但是我在默认日历视图中没有看到任何这样的API。 有人能告诉我正确的方向吗?如何进行?我应该扩展默认日历并添加自己的功能吗?或者我应该使用带有PageViewer和片段的5x5文本框吗?

  • 在最近的谷歌日历应用程序中,它有一个日历,可以下拉显示,并以如下方式显示: 我想建立一个日历这样的应用程序,但当我把android API的应用程序,它的风格是非常不同的: 所以,问题是我如何才能样式/自定义日历视图像谷歌日历应用程序中的一个? 此外,对于谷歌日历应用程序的日历,当颗粒物上出现事件时,日期文本下会出现“小点”(如上面谷歌日历图像中的8月19日和21日)。当我有一个日期列表(不是An

  • 我在我的项目中实现了一个calendarview,我可以获取月份、月份和年份,但我找不到任何方法来获取星期几,我的代码是这样的: 当我在日历中选择一天时,我需要得到一周的时间,我试图得到答案,但我找不到。 对不起我的英语。

  • 我目前正在尝试这样做,当我在日历视图中选择一天时,该天的所有事件都会列出。我很难让它显示一天中的所有事件(看起来它在上午12点到11点59分不起作用?)。这里是我目前拥有的。 和 如果我有12am-11:59am的事件1和12pm-11:59pm的事件2,则仅列出事件2。