2016-05-11 2 views
0

Мне нужно добавить календарь в мое приложение для Android. Мне нужно, чтобы пользователь мог выбрать дату, нажав на день в обычном календаре, который показывает целый месяц за раз, и он может перемещаться между месяцами каким-то простым способом, например, нажатием кнопки или прокруткой. Я не суетливый по поводу стиля. Это приложение работает на устройстве смартфона.Календарь для Android?

Когда я ищу об этом в Stack Overflow this question появляется первым, и в нем говорится, что такой вещи нет, если вы не хотите писать свой собственный или использовать сторонний открытый исходный код. Но это с 4 лет назад. Я видел более свежие сообщения о переполнении стека, ссылаясь на представление календаря, но без подробностей. Есть ли сейчас, в 2016 году, существующее календарное представление Android, которое я могу просто добавить в свое приложение, которое является частью Android SDK? Если да, то где я могу увидеть пример его использования?

+0

Это с тех пор, как уровень API 11 ... Значит более 3 лет назад! Просто Google для 'android calendarview' - первый результат. –

ответ

4

CalendarView существует с уровня API 11 (Android 3.0), выпущенный в феврале 2011.

This sample app демонстрирует свое основное применение.

<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(); 
    } 
} 

CalendarView sample

И есть много third-party date pickers, некоторые из которых используют календарь метафору.

+0

Спасибо! Хотел бы я дать вам более 1 upvote! – user316117

Смежные вопросы