이번 시간에는 첫 번째 레이아웃에 있는
텍스트뷰에 현재 월을 보여주고, 왼쪽 이미지 버튼을
누르면 이전달이, 오른쪽 이미지 버튼을 누르면 다음 달이
보이게 기능을 구현해보겠습니다.
이전 포스팅은 아래 링크를 들어가시면 됩니다.
2022.04.19 - [안드로이드] - [안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성
- 설명 -
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 해결방법)
2022.04.17 - [안드로이드] - [안드로이드] RelativeLayout 쉽게 사용하는 방법
2022.04.16 - [안드로이드] - [안드로이드] LinearLayout 쉽게 사용하는 방법
[안드로이드] 커스텀 달력 만드는 방법 part4 토요일 일요일 색상지정 및 날짜 클릭 이벤트 (2) | 2022.04.22 |
---|---|
[안드로이드] 커스텀 달력 만드는 방법 part3 날짜 구현 (3) | 2022.04.21 |
[안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성 (0) | 2022.04.19 |
[안드로이드] 기본 카메라 사진 찍고 이미지뷰에 보여주는 방법(StartActivityForResult deprecated 해결방법) (0) | 2022.04.18 |
[안드로이드] RelativeLayout 쉽게 사용하는 방법 (0) | 2022.04.17 |
댓글 영역