이번 포스팅에서는 안드로이드의 Application을 개발하다보면,
흔하게 사용되는 View중에서 EditText에 대한 내용을 정리해보고자 합니다.
EditText에 대한 전반적인 설명은 하지 않을 것입니다. 여러분들은 이미 EditText쯤이야 알고 계시잖…
특별한 내용을 다루진 않고, 어찌보면 EditText를 다루는 팁(?)정도로 생각하시고 가볍게 읽어주세요!

숫자와 대시만을 이용하는 상황이 필요했던 이유?

포스팅을 작성할 때마다 언급되었듯, 저는 현업으로 안드로이드의 어플리케이션을 개발하는 개발자입니다.
하지만 회사에서 업무로만 개발하는 것에서 그치지 않고,
개인적인 시간을 이용해서 현업에서 적용해보지 못한 기술을 스터디할 목적으로 개인 어플리케이션을 만들기도 합니다. 그만큼 개발을 좋아하…
요즘 틈틈히 개발하고 있는 어플리케이션이 있는데요. 개발을 하다보니 Number(숫자)형식-(대시)형식만 입력받아야 되는 상황이 있었어요.
그래서 구글링을 통해 저도 알게 된 지식이지만, 혹시라도 제 블로그를 보시는 분들을 위해 포스팅을 남기기로 했답니다?

각설하고 코드만 줘!

일반적인 EditText를 만드는 xml 코드입니다.

1
2
3
4
5
<EditText
android:id="@+id/evNumberAndDash"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

모두가 알고 계셨겠지만, 혹시 모르셨다면 어떤가요? 굉장히 간단한 코드죠?
보통의 EditText를 만들때는 기본적으로 위와 같은 코드를 골격으로 시작한다고 생각하시면 됩니다.
그렇다면, 오늘의 주요 주제인 inputType을 이용해 Number형식Dash형식만 지원하는 속성을 추가해도보록하죠!

1
2
3
4
5
6
7
<EditText
android:id="@+id/evNumberAndDash"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned"
android:digits="0123456789-"
/>

추가된 코드라면 inputTypedigits을 추가한게 끝입니다. 네, 이게 끝이에요…

간략하게 설명을 드리자면 inputTypenumberSigned에 해당하는 속성을 지정하면,
0 ~ 1 그리고, 부호를 입력할 수 있도록 -를 입력할 수 있습니다.
하지만, 제가 원하는 기능은 -n형식의 음수를 입력하는 것이 목적이 아니라, 1-1과 같은 숫자와 숫자사이에 -를 넣는 것이었기 때문에, digits 속성을 이용하여 입력할 수 있는 범위를 지정해주었다고 보시면 될 것 같아요.

그래서 어디에 쓸 수 있는데?

이건 여러분의 몫으로 남겨두도록하겠습니다. 개인적인 생각에는 많은 영역에서 사용할 수 있을 것 같아요.
아주 간략한 예시를 하나 만들어보자면… DatePicker라는 훌륭한 Component를 사용하지 않고,
사용자로부터 키보드로 직접 2017-06-15와 같은 날짜형식을 입력받고자 한다는 기획명령이 떨어졌을때?정도 일까요…?

마무리

개발자라고하더라도 개발자입장에서 최대한 자신이 만든 어플리케이션을 사용해주는 고마운 사용자를 위해서라도,
개발자 나름대로의 고민과 최대한 쾌적한 환경을 제공해주기 위해 많은 노력을 해야된다고 생각합니다.
특히 모바일처럼 작은 디바이스에서 입력하기란 쉽지 않기에 EditTextinputType을 적절히 사용하여 사용자가 무엇을 입력함에 있어 최대한 피로감을 덜 주는 것도 중요하다고 봐요.
혹시 기회가 된다면 수많은 inputType에 대해서 한번 정리를 해보는 포스팅을 작성해보도록하겠습니다!
이번 포스팅에서는 특별한 정보는 아니지만, 은근히 기본적이지만 적용해야 될 상황이 다가왔을때 기억이 안날수도 있는 부분을 정리해보았습니다! 끝!