自定义Android calendarView

我正在寻找一个可以在对话框中使用的CalendarView,像这样:

我打算使用android.widget.CalendarView但它可以从API级别11.这是一个问题,考虑到仍然有很多用户,使用android 2.3.3(但不是一个主要的可以放手那些用户)。

我应该使用哪些选项?

1)可用的库,并相应地使用它们。

2)自定义android.widget.CalendarView

如果#2,那么有没有例子呢?

  • 用于显示事件的Android CalendarView
  • Android日历视图
  • 更改android的CalendarView小部件中选定date的颜色
  • 如何在AlertDialog中显示CalendarView?
  • Lollipop CalenderView DatePicker不调用OnDateChanged()方法
  • 嗨访问所有给定的链接,希望将帮助你

    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/

    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

    有关此项目的工作实施,请参阅样本/文件夹。

    实现适当的Handlercallback:

     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类创build一个带有主题的PickerDialog:

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

    也为另一个例子,你可以访问

    https://github.com/roomorama/Caldroid

    并使用如下

    要在您的活动中embeddedcaldroid片段,请使用以下代码:

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