📜  Android |创建日历视图应用

📅  最后修改于: 2021-05-10 14:00:46             🧑  作者: Mango

本文介绍如何创建一个Android应用程序以使用CalendarView显示日历。它还提供了当前日期的选择和显示日期。使用setOnDateChangeListener接口,该接口提供onSelectedDayChange方法。

  1. onSelectedDayChange:在此方法中,我们获得用户选择的天,月和年的值。

以下是创建日历的Android应用程序的步骤。

  • 步骤1:创建一个新项目,您将拥有一个布局XML文件和Java文件。您的屏幕将如下图所示。

  • 步骤2:打开xml文件,然后添加CalendarView和TextView。并将id分配给TextView和CalendarView。完成此过程后,xml文件屏幕如下所示。

  • 步骤3:现在,打开活动Java文件并定义CalendarView和TextView类型变量,并使用findViewById()获取Calendarview和textview。
  • 步骤4:现在,在提供setOnDateChangeListener方法的CalendarView对象中添加setOnDateChangeListener接口。在这种方法中,我们获取日期(天,月,年),并在TextView for Display中设置日期。
  • 步骤5:现在运行应用程序并设置当前日期,该日期将显示在屏幕顶部。

    MainActivity的完整代码。日历的Java或activity_main.xml如下所示。

    activity_main.xml
    
    
      
        
        
      
        
        
        
      
    


    MainActivity.java
    package org.geeksforgeeks.navedmalik.calendar;
      
    import android.support.annotation.NonNull;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.Button;
    import android.widget.CalendarView;
    import android.widget.TextView;
      
    public class MainActivity extends AppCompatActivity {
      
        // Define the variable of CalendarView type
        // and TextView type;
        CalendarView calender;
        TextView date_view;
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
      
            // By ID we can use each component
            // which id is assign in xml file
            // use findViewById() to get the
            // CalendarView and TextView
            calender = (CalendarView)
                findViewById(R.id.calender);
            date_view = (TextView)
                findViewById(R.id.date_view);
      
            // Add Listener in calendar
            calender
                .setOnDateChangeListener(
                    new CalendarView
                        .OnDateChangeListener() {
                            @Override
      
                            // In this Listener have one method
                            // and in this method we will
                            // get the value of DAYS, MONTH, YEARS
                            public void onSelectedDayChange(
                                @NonNull CalendarView view,
                                int year,
                                int month,
                                int dayOfMonth)
                            {
      
                                // Store the value of date with
                                // format in String type Variable
                                // Add 1 in month because month
                                // index is start with 0
                                String Date
                                    = dayOfMonth + "-"
                                      + (month + 1) + "-" + year;
      
                                // set this date in TextView for Display
                                date_view.setText(Date);
                            }
                        });
        }
    }


    输出: