버튼?!텍스트뷰?!
by 레오쏭 | 11.07.07 09:52 | 2,208 hit
이번시간에는 저번시간에 이어 인터페이스중 하나인 위젯에 해당하는 버튼과 텍스트뷰에 대해 알아보겠습니다.
버튼은 일반적인 버튼으로도 사용할수 있지만 커스터마이징에 이은 개발자의 입맛대로 바꿀수 있어 참 좋은 위젯중 하나죠. 버튼도 역시 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 개발 꿀팁에서 복사 됨]
추천 4

댓글 4

xkzkxjx 2011.09.09 21:49
감사함당ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅋ
레지스트 2011.09.06 16:18
꾸준한 강좌 대단하십니다. 올만에 프로그래밍이나 해야겠네요ㅎ
♣서로해♣ 2011.07.07 16:55
반가워요 꾸준히 올려주시고 많은 유저분들에게 도움 되리라 확신 합니다.
저도 열심히 배워 볼까 하는데 이해가 안가는 부분이 많아요.
하지만 읽어보고 또 읽어보고하니 쬐끔은 이해가 되더군요.
항상 감사 드리고요. 레오쏭님 화이팅.
레오쏭 2011.09.07 08:40
서로해님이시군요~^^

이거슨 꿀팁 다른 게시글

게시물 더보기

이거슨 꿀팁 인기 게시글

  1. 알뜰폰 쓸 때 인터넷과 결합하려면2,639
  2. 해외여행 갈 때 데이터로밍 간편하고 싸게 쓰…2,506
  3. 기프티콘은 컬쳐랜드 쿠폰거래소에서 이용하…2,392
  4. 클리오 루즈힐 블룸 다이아 립스틱 5종 홈쇼…2,493
  5. 데이터 10GB+1Mbps 무제한 6,500원부터 쓸수…2,353
  6. 3월 알뜰폰 가성비 평생요금제 2가지 6GB 6천…2,098
  7. 3Mbps 속도 데이터무제한 최저가 검색2,100
  8. 컬쳐랜드에 쿠폰거래소가 새롭게 생겼어요2,062
  9. 해외여행 데이터로밍 일본 태국 대만 최저가…2,042
  10. 아싸컴에서 천만원 이벤트 하는 거 찾았다2,011

2024.05.20 00:00 기준