티스토리 뷰
시작한지 벌써 3강이군요. 3강만에 달력을 완성하다니 아.. 빠르고 보람됩니다.
자 그럼 오늘도 시작해보죠
우선 달력의 위에 버튼을 넣어보겠습니다. 이전달 , 다음달, 그리고 지금 표시하는 달력이 몇월인지 보여줄 텍스트가 필요할 것 같습니다.
사진과 같은 모습이 될겁니다.
layout xml을 수정해보겠습니다.
제일 위에 추가할게요.
<linearlayout android:orientation="horizontal" android:layout_height="40dp" android:layout_width="fill_parent"> <button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="<" android:id="@+id/prev" /> <linearlayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1"> <textview android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="0000-00" android:id="@+id/maintext" /> <linearlayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1"> <button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text=">" android:id="@+id/next" /> </linearlayout>
id는 마음대로 수정하셔도 상관없습니다.
java 파일을 수정합니다.
findViewById(R.id.prev).setOnClickListener(this);
findViewById(R.id.next).setOnClickListener(this);
maintext = (TextView)findViewById(R.id.maintext);
버튼을 초기화해주고
setCalendarDate(thisYear, thisMonth); 메서드에 year도 함께 보내도록 수정하였습니다. 1월에서 전달로 가니까 해가 바뀌어야하는 이슈가 있었습니다.
thisMonth를 저장하는 방식처럼 똑같이 thisYear = mCal.get(Calendar.YEAR); 로 저장하시면 되겠습니다.
그리고 달력을 그려주는 public void setCalendarDate(int year, int month)메서드에서
maintext.setText(year + " / " + month); 를 추가하도록 하겠습니다. 추가한 소스는 달이 바뀔때마다 위에 텍스트뷰에 해당되는 연/월을 표시해 줄것입닙다.
이제 다됬네요.
이전/다음 달 버튼만 구현하면 되겠습니다.
현재 달이 1월이면 작년12월로, 현재달이 12월이면 내년1월로 처리하면 될것입니다. (이해가 되셨나요?)
@Override public void onClick(View v) { switch(v.getId()){ case R.id.prev: if(thisMonth > 1) { thisMonth--; setCalendarDate(thisYear, thisMonth); } else { thisYear--; thisMonth = 12; setCalendarDate(thisYear, thisMonth); } break; case R.id.next: if(thisMonth < 12) { thisMonth++; setCalendarDate(thisYear, thisMonth); } else { thisYear++; thisMonth = 1; setCalendarDate(thisYear, thisMonth); } break; } }
위에처럼 처리해주었습니다.
간단하게 위의 사진처럼 달력이 나왔습니다.
이전달, 다음달 버튼도 이상없이 잘 작동합니다.
이상으로 달력만들기가 끝났습니다.
생각보다 어렵지 않게 만들어지는것을 볼 수 있었습니다.
간단하죠? 이 소스를 이용하면 가계부, 달력, 다이어리, 일정관리 등등을 만들 수 있겠네요.
추가기능이 있는 달력을 원하시는분께서는 http://cafe.naver.com/adcommunity 로 방문해주세요!
'개발 > 개발 자료' 카테고리의 다른 글
(Android) 안드로이드에서 플래시 실행하기 (3) | 2014.03.21 |
---|---|
(Android) 프로가드, 난독화 적용하기 (0) | 2014.03.18 |
(Android) 1강 - 달력만들기 2. 요일넣기와 시작 요일 맞추기 (0) | 2014.02.26 |
(HTML) a태그 파란색 및 밑줄 없애기 (6) | 2014.02.26 |
(Android) 1강 - 달력만들기 1. Calendar 만져보기 (4) | 2014.02.24 |