상세 컨텐츠

본문 제목

[안드로이드] 가로형(Horizontal) 달력(Calendar) 쉽게 만드는 방법

안드로이드

by aries574 2022. 2. 13. 13:22

본문


이번 시간에는 가로형으로 보여지는 달력

쉽게 만드는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면

2. 라이브러리 등록

3. 메인 화면 구성 activity_main.xml

4. 메인 코드 구현 MainActivity.java


1. 실행 화면



2. 라이브러리 등록

build.gradle(Module:프로젝트명:app)

dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.

 implementation 'devs.mulham.horizontalcalendar:horizontalcalendar:1.3.4'

참조 문서

https://github.com/Mulham-Raee/Horizontal-Calendar

 

GitHub - Mulham-Raee/Horizontal-Calendar: A material horizontal calendar view for Android based on RecyclerView

A material horizontal calendar view for Android based on RecyclerView - GitHub - Mulham-Raee/Horizontal-Calendar: A material horizontal calendar view for Android based on RecyclerView

github.com

 


3. 메인 화면 구성 activity_main.xml

 - 속성 -

 background 

 - 배경색상

 textColorNormal

 - 기본 텍스트 색상

 selectorColor

 - 선택된 날짜 하단줄 색상

 textColorSelected

 - 선택된 날짜 텍스트 색상

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/mainLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <devs.mulham.horizontalcalendar.HorizontalCalendarView
        android:id="@+id/calendarView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFE400"
        app:textColorNormal="#FFFFFF"
        app:selectorColor="#86E57F"
        app:textColorSelected="#86E57F"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dp"
        android:textSize="25sp"
        android:id="@+id/calendar_text_view"/>
</LinearLayout>


4. 메인 코드 구현 MainActivity.java

 - 기능 - 

 range(시작날짜, 종료날짜)

 datesNumberOnScreen(보여질 날짜갯수)

 onDateSelected: 날짜선택하면 실행되는 메소드

public class MainActivity extends AppCompatActivity {

    TextView calendarTextView;

    int year, month, day;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        calendarTextView = findViewById(R.id.calendar_text_view);

        //시작 날짜
        Calendar startDate = Calendar.getInstance();
        startDate.add(Calendar.MONTH, -1);

        //종료날짜(현재날짜 + 1달 후)
        Calendar endDate = Calendar.getInstance();
        endDate.add(Calendar.MONTH, 1);

        //가로달력 실행
        HorizontalCalendar horizontalCalendar = new HorizontalCalendar.Builder(this, R.id.calendarView)
                .range(startDate, endDate)
                .datesNumberOnScreen(5)
                .build();

        //날짜 설정
        year = startDate.get(Calendar.YEAR); //년
        month = startDate.get(Calendar.MONTH) +1; //월
        day = startDate.get(Calendar.DAY_OF_MONTH); //일

        calendarTextView.setText("선택한 날짜:" + year+"년 " + month + "월 " + day + "일");

        //날짜선택 이벤트
        horizontalCalendar.setCalendarListener(new HorizontalCalendarListener() {
            @Override
            public void onDateSelected(Calendar date, int position) {

                year = date.get(Calendar.YEAR); //년
                month = date.get(Calendar.MONTH) +1; //월
                day = date.get(Calendar.DAY_OF_MONTH); //일

                calendarTextView.setText("선택한 날짜:" + year+"년 " + month + "월 " + day + "일");
            }
        });
    }//onCreate
    
} //MainActivity

2022.02.12 - [안드로이드] - [안드로이드] 그라데이션(Gradation) 애니메이션(Animation) 효과 쉽게 주는 방법

 

[안드로이드] 그라데이션(Gradation) 애니메이션(Animation) 효과 쉽게 주는 방법

- 나무 위키 - 그라데이션(Gradation)은 하나의 색채에서 다른 색채로 변하는 단계 이번 시간에는 그라데이션에 애니메이션 효과 쉽게 주는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 

aries574.tistory.com

2022.02.11 - [안드로이드] - [안드로이드] View(뷰) 애니메이션(Animation) 쉽게 적용하는 방법

 

[안드로이드] View(뷰) 애니메이션(Animation) 쉽게 적용하는 방법

이번 시간에는 안드로이드에서 쓰이는 각종 뷰[텍스트뷰(TextView), 이미지뷰(ImageView)] 들에게 애니메이션 쉽게 적용하는 방법을 알아보겠습니다. 간단한 애니메이션 쓰고 싶을 때 좋습니다. 목차

aries574.tistory.com

2022.02.10 - [안드로이드] - [안드로이드] 별점(RatingBar) 쉽게 꾸미는 방법

 

[안드로이드] 별점(RatingBar) 쉽게 꾸미는 방법

이번 시간에는 별점(RatingBar) 쉽게 꾸미는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.java 1. ..

aries574.tistory.com

반응형

관련글 더보기

댓글 영역