인터페이스?!-키보드로 타이핑을 해볼까?
by 레오쏭 | 11.07.19 12:45 | 5,917 hit
이제 우린 실제로는 문자 메시지는 보낼수 있는건 아니지만 LightSMS같은 화면에 타이핑을 할수 있는 어플을 만들어 보겠습니다.
여기서는 에디트텍스트와 텍스트와쳐 개념이 들어갈 것입니다..
그럼 시작해보죠~^^
빌드타켓은 안드로이드2.2 SDK버젼은 8로 해주시고 프로젝트를 하나 만드세요~
우리가 오늘 만들것은 아래는 LightSMS라는 어플의 화면입니다.


실제 저 어플처럼 문자를 전송하고 받고 하는 기능을 만드는것은 아닙니다. 단지 인터페이스 공부를 위해 위 어플과 같은 모양으로 만들고 글자를 스마트폰 키보드로 치는것이 가능하게 만들어 보겠습니다..^^
아 그리고 혹시 모르는분들을 위해 말씀드리는데 스마트폰은 키보드를 자신이 원하는것으로 쓸수 있으므로 제 화면에 있는 키보드가 아닌분들이 대다수 입니다..키보드가 다르다고 틀렸다고 생각하지 마세요~^^
앞서 배운 레이아웃을 적절히 사용해 일단 인터페이스 구축을 해보겠습니다.




여기서는 특별히 알려 드릴건 없습니다. 앞서 배운 레이아웃에 다 있는 내용이니까요~^^하나만 설명을 드리자면 위에 보시면 EditText에 보시면 maxLength가 있습니다. 이건 에디트텍스트창에 글자 제한을 두는 것입니다~위에서는 140으로 제한을 두었습니다.
자 여기까지하면 대략 모양이 아래와 같이 완성됩니다.


우리가 원래 원했던 모양과 비슷하게 나왔죠?^^하지만 실시간으로 글자수를 표시해 주지 않을것입니다.
이제 .java 파일로 가서 생명을 불어 넣어 볼까요?


필요한 것들을 import 시켜주시구요...import에 대한 이야기를 하자면 사람들마다 스타일이 다릅니다. 예를 들면 android.text.TextWatcher와 android.text.Editable을 사용하여야 된다면 각각을 다 써줘도 되지만 android.text.* 하나만 써도 위 두개는 다 이용가능합니다. * <-이 별표시가 그 계층의 모든것이라는걸 의미합니다. 개인적으론 전 *을 자주 애용하는 스타일이지만 처음에 하실땐 뭐를 할떈 뭐가 필요하다는것을 알기위해 따로 하나씩 하는것도 괜찮다고 생각합니다. 나중에 익숙해지시면 *을 이용하셔도 됩니다.
TextView와 EditText 형식의 변수를 private로 정의하고 아래에서 생성해주었습니다.
그다음 와쳐도 생성해주었는데 와쳐의 경우엔 반드시 3가지를 구현해도록 되어있습니다. 추상클래스기 때문이죠. 추상클래스란 틀만 정의된 클래스를 말합니다. 그러므로 안의 정해진 메서드를 반드시 포함해야 사용이 가능한 클래스입니다.
before,onText,after를 구현해야하는데 우리에게 필요한건 입력중일때이므로 onText부분만 구현을 하고 나머지는 빈 메서드로 만듭니다.
onText부분을 보시면 cnt라는 인터져값을 정의하고 그것은 스트링의 길이를 반환받아 정의하게 되어있고 우리가 우측위에 정의한 텍스트 길이 부분의 값을 cnt를 받아 그 값으로 정의되게 만들어 줍니다.
그다음 message창에 와쳐리스너를 추가해주었습니다.그러면


성공하였습니다..^^
실제로 문자전송같은 기능은 없지만 모양과 우리가 처음에 구현하고자 했던 실시간 글자수체크까지 마쳤습니다...^^


[이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
추천 8

댓글 8

게임과꽃미남 2011.12.06 00:56
하아... 자판은 역시 천지인자판이 ㅠㅅㅠ
좋은강좌감사합니다~
레지스트 2011.09.06 16:15
감사합니다 이해가잘되게 글을써주셔서 원하는프로그램제작에 도움이되었습다.
세르뽕 2011.09.05 19:50
좋은 정보 감사합니다.
꽃보다 2011.08.21 05:09
역시 맛클엔 다있내요 ㅎㅎㅎ
카본엑센 2011.08.20 14:46
좋네요^^
kmk456 2011.08.03 07:12
저기요 레오쏭님 이런거 많이 아시는거 같은데 위젯 아이콘 꿀려면 어케함? 알려주심 안됨?
레오쏭 2011.08.03 23:01
위젯 아이콘이라 하시면 어플들 위젯 말하시는건가요?맛클가시면 강의들 있어요~^^
kmk456 2011.08.03 23:55
* 비밀글 입니다.

이거슨 꿀팁 다른 게시글

게시물 더보기

이거슨 꿀팁 인기 게시글

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

2024.05.11 13:00 기준