이번시간에는 저번시간에 이어 인터페이스중 하나인 위젯에 해당하는 버튼과 텍스트뷰에 대해 알아보겠습니다.
버튼은 일반적인 버튼으로도 사용할수 있지만 커스터마이징에 이은 개발자의 입맛대로 바꿀수 있어 참 좋은 위젯중 하나죠. 버튼도 역시 android.view.View클래스를 상속 받은 클래스이므로 대부분의 이벤트를 처리할수 있으며 이미지로 된 버튼도 만들수 있지만 자바와 동일하게 ImageButton이라는 클래스도 지원하므로 다양하게 이용할 수 있습니다.
보통 모든 위젯들은 구현하는 방법은 두가지가 있습니다. 하나는 저번에 전화어플이나 페이지 넘어가는 어플만들때 처럼 XML로 만드는 방법과 자바소스를 이용한 방법이 있습니다. XML로 보통 만들며 그것이 안정성이나 확장성에 좋아 많이 사용하지만 동적생성이 불가능하여 자바소스로 구현해야될때도 있습니다. 동적생성이란 자료를 로딩하는데 자료의 개수만큼 위젯이 자동으로 추개해야 한다면 자바코드로 해주어야 합니다. 오늘은 자바코드로 하는것에 대해 알아보겠습니다.
또한 텍스트뷰도 똑같이 위젯중 하나입니다.
자 그럼 실습을 해봅시다
프로젝트를 하나 만들어 주시구요~물론 안드로이드 2.2버젼과 API8버젼을 사용하셔야 되고 나머지는 각자 원하시는 이름으로 해주세요~^^(프로젝트 만드는 법을 모르시는 분들은 이 전의 강좌를 보고 오십시오..이제는 완전 초보적인 이야기는 빼고 넘어갈것입니다~)
오늘은 xml을 안건드리므로 오히려 이전의 실습보다 편할수도 있지만 자바를 모르시는분은 이게 왜 다르지?라고 생각할수 있습니다. 그건 하면서 설명을 하겠습니다.
소스는 위와 같습니다. 하나씩 내려가며 설명을 해보죠..위에서 import해준것중에 widget에 있는 것들은 저번에 많이들 보셨을것입니다. 처음 보는것이 하나 보이죠? android.view.ViewGroup.LayoutParams 이것은 위젯들의 배치를 결정짓는 클래스입니다.XML로 만들때 쓴 FILL_PARENT,WRAP_CONTENT같은 값들을 쓸수 있게 해줍니다.
그리고 리니어레이아웃 형태의 레이아웃을 하나 만들어 주고 그 레이아웃 위에 텍스트뷰를 얹어주고(layout.addView(textView)) 그 다음 버튼을 얹어 주었습니다.(layout.addView(button,lpFillWrap))그리고 두개가 올라간 레이아웃을 setContentView를 이용하여 액티비티에 나오도록 해준것입니다...^^
그러고 실행을 시키시면
이런식으로 나오게 됩니다~다음시간에는 레이아웃에 대해 본격적으로 들어가보도록 하겠습니다~^^
[이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]