상세 컨텐츠

본문 제목

[안드로이드] 커스텀 달력 만드는 방법 part2 이번 달, 저번 달, 다음 달 구현

안드로이드

by aries574 2022. 4. 20. 15:08

본문


이번 시간에는 첫 번째 레이아웃에 있는

텍스트뷰에 현재 월을 보여주고, 왼쪽 이미지 버튼을

누르면 이전달이, 오른쪽 이미지 버튼을 누르면 다음 달이

보이게 기능을 구현해보겠습니다.

이전 포스팅은 아래 링크를 들어가시면 됩니다.

2022.04.19 - [안드로이드] - [안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성

 

[안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성

이번 시간부터 커스텀 달력을 만들어 보겠습니다. 이번에는 메인화면 구성을 해보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구성 activity_main.xml 1. 실행 화면 2. 메인 화면 구성 activity_main.xml  -.

aries574.tistory.com


목차

1. 실행 화면
2. 메인 코드 구현 MainActivity.java


1. 실행 화면

 


2. 메인 코드 구현 MainActivity.java

 - 설명 - 

 1. selectedDate: 년월 날짜 가져오기 위한 변수

 2. minusMonths: 해당 월에서 -1 ( 2월 -> 1월 )

 3. plusMonths: 해당월에서 +1 ( 2월 -> 3월 )

 4. monthYearFromDate: 날짜 포맷하는 메서드

 5. setMonthView: 화면에 날짜 보여주는 메서드

public class MainActivity extends AppCompatActivity {

    TextView monthYearText; //년월 텍스트뷰

    LocalDate selectedDate; //년월 변수

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

        //초기화
        monthYearText = findViewById(R.id.monthYearText);
        ImageButton prevBtn = findViewById(R.id.pre_btn);
        ImageButton nextBtn = findViewById(R.id.next_btn);

        //현재 날짜
        selectedDate = LocalDate.now();

        //화면 설정
        setMonthView();

        //이전달 버튼 이벤트
        prevBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                
                //현재 월-1 변수에 담기
                selectedDate = selectedDate.minusMonths(1);
                setMonthView();
            }
        });

        //다음달 버튼 이벤트
        nextBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //현재 월+1 변수에 담기
                selectedDate = selectedDate.plusMonths(1);
                setMonthView();
            }
        });
    }//onCreate

    /**
     * 날짜 타입 설정
     * @param date 날짜
     * @return
     */
    private String monthYearFromDate(LocalDate date){

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM월 yyyy");
        return date.format(formatter);
    }


    /**
     * 화면 설정
     */
    private void setMonthView() {
        
        //년월 텍스트뷰 셋팅
        monthYearText.setText(monthYearFromDate(selectedDate));
    }
}//MainActivity

2022.04.18 - [안드로이드] - [안드로이드] 기본 카메라 사진 찍고 이미지 뷰에 보여주는 방법(StartActivityForResult deprecated 해결방법)

 

[안드로이드] 기본 카메라 사진 찍고 이미지뷰에 보여주는 방법(StartActivityForResult deprecated 해결방

이번 시간에는 기본 카메라 불러서 사진 찍고 이미지 뷰에 보여주는 방법에 대하여 알아보겠습니다. 기존 startactivityforresult 말고 다른 방식으로 구현했습니다. 목차 1. 실행 화면 2. 메인 화면 구

aries574.tistory.com

2022.04.17 - [안드로이드] - [안드로이드] RelativeLayout 쉽게 사용하는 방법

 

[안드로이드] RelativeLayout 쉽게 사용하는 방법

이번 시간에는 RelativeLayout에 대하여 알아보겠습니다. LinearLayout이 뷰의 위치를 가로, 세로로 구성한다면 RelativeLayout은 상대방의 뷰에 따라 위치를 구성합니다. 직접 해보면 쉽게 사용할 수 있습

aries574.tistory.com

2022.04.16 - [안드로이드] - [안드로이드] LinearLayout 쉽게 사용하는 방법

 

[안드로이드] LinearLayout 쉽게 사용하는 방법

이번 시간에는 LinearLayout을 쉽게 사용하는 방법에 대하여 알아보겠습니다. LinearLayout은 화면의 내용들을 가로나 세로 형태로 배치해줍니다. 가로, 세로를 섞어서 사용할 수도 있습니다. 직접 만

aries574.tistory.com

 

 

반응형

관련글 더보기

댓글 영역