Пользовательский календарь для Android

Я ищу CalendarView, который можно использовать в диалоге примерно так:

Я планирую использовать android.widget.CalendarView но он доступен с уровня API 11. Это проблема, учитывая, что еще много пользователей, используя android 2.3.3 (но не тот, кто может отпустить этот набор пользователей).

Какие из этих вариантов я должен использовать?

1) библиотеки, которые доступны и используют их соответственно.

2) настроить android.widget.CalendarView ?

Если # 2, то есть ли для этого примеры?

Solutions Collecting From Web of "Пользовательский календарь для Android"

Привет, посетите все ссылки, надеюсь, поможет вам

1. https://github.com/inteist/android-better-time-picker

2. https://github.com/derekbrameyer/android-betterpickers

3. http://www.androiddevelopersolutions.com/2013/05/android-calendar-sync.html

4. http://www.androidviews.net/2013/04/extendedcalendarview/

5. http://abinashandroid.wordpress.com/2013/07/21/how-to-create-custom-calendar-in-android/

6. http://w2davids.wordpress.com/android-simple-calendar/

7. https://github.com/roomorama/Caldroid

8. https://github.com/flavienlaurent/datetimepicker

Когда вы посетите

https://github.com/derekbrameyer/android-betterpickers

Для рабочей реализации этого проекта см. Образец / папку.

Внедрить соответствующие обратные вызовы обработчика:

 public class MyActivity extends Activity implements DatePickerDialogFragment.DatePickerDialogHandler { @Override public void onCreate(Bundle savedInstanceState) { // ... } @Override public void onDialogDateSet(int year, int monthOfYear, int dayOfMonth) { // Do something with your date! } } 

Используйте один из классов Builder для создания PickerDialog с темой:

 DatePickerBuilder dpb = new DatePickerBuilder() .setFragmentManager(getSupportFragmentManager()) .setStyleResId(R.style.BetterPickersDialogFragment); dpb.show(); 

Также для другого примера вы можете посетить

https://github.com/roomorama/Caldroid

И использовать следующим образом

Чтобы внедрить фрагмент кальдердроида в вашу деятельность, используйте ниже код:

 CaldroidFragment caldroidFragment = new CaldroidFragment(); Bundle args = new Bundle(); Calendar cal = Calendar.getInstance(); args.putInt(CaldroidFragment.MONTH, cal.get(Calendar.MONTH) + 1); args.putInt(CaldroidFragment.YEAR, cal.get(Calendar.YEAR)); caldroidFragment.setArguments(args); FragmentTransaction t = getSupportFragmentManager().beginTransaction(); t.replace(R.id.calendar1, caldroidFragment); t.commit();