본문 바로가기

프로그래밍/안드로이드

[안드로이드] 캘린더 뷰(Calendar View)



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<CalendarView
android:id="@+id/calendar"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
/>
<CalendarView
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:minDate="04/01/2012" // 달력에 표시할 최소 날짜 mm/dd/yyyy

android:maxDate="12/31/2012" // 달력에 표시할 최대 날짜 mm/dd/yyyy
android:focusedMonthDateColor="#ff0000" // 현재 선택된 달의 배경 색상
android:unfocusedMonthDateColor="#0000ff"     // 선택되지 않은 달의 배경 색상

android:selectedWeekBackgroundColor="#ffff00" // 선택된 "주"의 배경 색상
android:showWeekNumber="false"
android:weekSeparatorLineColor="#00ff00"
/>
</LinearLayout>


firstDayOfWeek : 제일 왼쪽의 첫 요일 (디폴트 1 : 일요일이 시작, 2: 월요일이 시작)

minDate : 달력에 표시할 최소 날짜

maxDate : 달력에 표시할 최대 날짜

focusedMonthDateColor : 현재 선택된 달의 배경 색상

selectedWeekBackgroundColor : 선택된 주의 배경 색상

unfocusedMonthDateColor : 선택되지 않은 달의 배경 색상

showWeekNumber : 왼쪽에 "1주차, 2주차, 3주차... "를 보여줄 것인가를 지정 (디폴트는 true)

weekNumberColor : "주(週)"차의 색상을 지정

weekSeparatorLineColor : 주 사이의 구분선. 디폴트는 투명한 색

selectedDateVerticalBar  : 선택한 날짜 양쪽에 보일 수직바에 대한 드로블



public class ExerciseExam extends AppCompatActivity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_excercise_exam);

CalendarView calendar = (CalendarView) findViewById(R.id.calendar);
calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
public void onSelectedDayChange(CalendarView view, int year,
int month, int dayOfMonth) {
Toast.makeText(ExerciseExam.this, "" + year + "/" +
(month + 1) + "/" + dayOfMonth, 0).show();
}
});
}
}


long getDate()

// 날짜를 조사 메서드

void setDate(long date [, boolean animate, boolean center])

// 날짜를 변경하는 메서드

void setOnDateChangeListener(CalendarView.OnDateChangeListener listener)

// 날짜가 변경될 때 이벤트를 받기 위한 리스너

void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth)

// 선택된 날짜를 알려주는 메서드