Bucket Place/Android

[Android] Cutomize Edit Text (Validation email, number, url /Length Check)

Cloud Travel 2014. 4. 14. 16:12

안녕하세요. Bucket Place의 Android 개발자 Cloud Travel 입니다.


오늘은 EditText를 커스텀하여 만든 ValidationEditText를 소개하려고 합니다.

관련 URL은 클릭!!  저번주에 만든 컴퍼넌트 입니다. 단순히 이 글은 Git에 올린 README.md를 한글로 다시 쓴 글입니다.


* ValidationEditText

ValidationEditText는 EditText를 상속받아 커스텀한 것입니다. 이 컴퍼넌트는 사용자의 입력을 검사하여 오류메세지를 출력해주는데 효율적입니다.


당신은 이미 EditText에서 showError()함수를 이용하여 오류메세지를 출력하는 방법을 알고 있을 것입니다. 하지만 저(Cloud Travel)는 기본적으로 제공해주는 팝업메세지창의 디자인이 좋지 않다고 생각합니다. 그래서 ValidationEditText는 이 디자인을 바꿀 수 있는 강력한 방법을 제공해 줍니다. 그리고 샘플은 이곳을 클릭해주세요.


주의: 추가적으로 더 많은 정규식이 필요하다면, 이 블러그의 방명록에 남겨 주시기 바랍니다.



* 특징

 - EditText를 상속받았습니다.

 - OnFocusChangeListener를 사용하였습니다.

 - Java 정규식을 사용하였습니다.


* Setup

 - 이 라이브러리는 2.2(SDK 8)이상에서 돌아가도록 만들어졌습니다. 이 라이브러리를 사용하기 위해선 당신의 프로젝트에 dependency library로

   추가해주시면 됩니다.


* 사용법

 1. 이 소스코드(프로젝트)를 다운 받고, 당신의 프로젝트에 라이브러리로서 링크를 시킵니다.

 2. 레이아웃 파일에 "destiny738.tistory.com.validation.ValidationEditText" 위젯을 추가시킵니다.

<destiny738.tistory.com.validation.ValidationEditText xmlns:destiny="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp" android:background="@drawable/edit_text_background" destiny:validationType="email" destiny:errorIcon="@drawable/caution_icon" destiny:popupTop="-10dp" />

 3. 다음은 환경설정입니다.

  - pop-up창의 위치에 관하여...

    > popupTop : popup 메세지의 top위치를 설정합니다. (단위: dp, 디폴트: -4dp)

    > popupLeft : popup 메세지의 left위치를 설정합니다. (단위: dp, 디폴트: 0dp )

  - 에러 아이콘에 관하여...

    > errorIcon : 오류 발생시 보여줄 에러 아이콘을 설정합니다. (단위: reference, 디폴트: R.drawable.caution_icon)

    > errorIconHeightSize: 에러 아이콘의 높이를 설정합니다. (단위: dp, 디폴트: 20dp)

    > errorIconWidthSize: 에러 아이콘의 너비를 설정합니다.  (단위: dp, 디폴트: 20dp)

  - 에러 팝업창에 대해서...

    > errorBackground: 팝업 윈도우의 배경을 설정합니다. (단위: reference, 디폴트: R.drawable.popup_background)

    > errorFontSize: 팝업 윈도우 내의 메세지 사이즈를 설정합니다. (단위: integer, 디폴트: "12")

    > errorFontColor: 팝업 윈도우 내의 메세지 색을 설정합니다. (단위: color, 디폴트: Color.black)

    > errorMessage: 팝업 윈도우 내의 메세지를 설정합니다. (단위: string, 디폴트: Invalidated input)

  - 검증에 대해서...

    > validationType: 검증 타입을 정합니다. 현재는 이메일, URL, 숫자에 대해서만 가능합니다. ( email, url, number 중 택 1)

    > validationMaxLength: 입력의 최대 길이를 설정합니다. 필요가 없는 옵션일 수도 있습니다.

    > validationMinLength: 입력의 최소 길이를 설정합니다. 필요가 없는 옵션일 수도 있습니다.


* 할 수 있는 것

 - 숫자 검사

 - URL 주소 검사

 - Email 주소 검사

 - 팝업 메세지의 디자인을 수정

 - 에러 아이콘의 수정

 - 입력된 길이를 체크



* 라이센스

The MIT License (MIT)


Copyright (c) 2014 KimJinsik


Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:


The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.


THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


요약 : 맘대로 사용하시고, 책임은 안져요.

=========================


이상 입니다. 궁금한점은 뎃글로...