如今,在大多数应用程序中,我们在大多数应用程序中看到日历,用于显示出生日期或任何约会应用程序。借助日历视图在应用程序中显示日期可提供更好的用户体验。在本文中,我们将为我们的 android 应用程序制作一个自定义日历。在这个自定义日历中,我们突出显示了当前日期和其他对我们来说似乎很重要的日期。
我们将在本文中构建什么?
在这里,我们为自定义日历添加了所需的依赖项,然后使用日历视图对其进行处理。这是我们将要构建的应用程序的示例视频。请注意,我们将用Java语言实现这个项目。
分步实施
步骤 1:创建一个新项目
- 打开一个新项目。
- 我们将使用Java语言开发 Empty Activity。保持所有其他选项不变。
- 您可以在方便时更改项目的名称。
- 将有两个名为activity_main.xml和MainActivity 的默认文件。Java
如果您不知道如何在 Android Studio 中创建新项目,可以参考如何在 Android Studio 中创建/启动新项目?
第 2 步:添加所需的依赖项-
导航到Gradle Scripts -> build.gradle(Module)并在其中实现以下依赖项-
implementation 'org.naishadhparmar.zcustomcalendar:zcustomcalendar:1.0.1'
第 3 步:处理 XML 文件
使用actvity_main.xml 文件:
导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是 activity_main.xml 文件的代码。
XML
XML
XML
XML
XML
Java
package com.example.customcalendar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import org.naishadhparmar.zcustomcalendar.CustomCalendar;
import org.naishadhparmar.zcustomcalendar.OnDateSelectedListener;
import org.naishadhparmar.zcustomcalendar.Property;
import java.util.Calendar;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
// Initialize variable
CustomCalendar customCalendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// assign variable
customCalendar=findViewById(R.id.custom_calendar);
// Initialize description hashmap
HashMap
导航到应用 > res > 布局 > 右键单击 > 新建 > 布局资源文件并将其命名为缺席_view.xml。在其中使用以下代码-
导航到应用 > res > 布局 > 右键单击 > 新建 > 布局资源文件并将其命名为 present_view.xml。在其中使用以下代码-
导航到应用 > res > 布局 > 右键单击 > 新建 > 布局资源文件并将其命名为 current_view.xml。在其中使用以下代码
导航到应用 > res > 布局 > 右键单击 > 新建 > 布局资源文件并将其命名为 default_view.xml。在其中使用以下代码-
第 4 步:使用 MainActivity。Java
转到 MainActivity。 Java文件并参考以下代码。下面是 MainActivity 的代码。 Java文件。
Java
package com.example.customcalendar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import org.naishadhparmar.zcustomcalendar.CustomCalendar;
import org.naishadhparmar.zcustomcalendar.OnDateSelectedListener;
import org.naishadhparmar.zcustomcalendar.Property;
import java.util.Calendar;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
// Initialize variable
CustomCalendar customCalendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// assign variable
customCalendar=findViewById(R.id.custom_calendar);
// Initialize description hashmap
HashMap
这是我们应用程序的最终输出。
输出: