본문 바로가기

Android/View

안드로이드/Android EditText 속성 정의

안드로이드/Android EditText 속성 정의




 1. 속성


(1) EditText에 포커스 주지 않기 : AndroidManifest.xml 에서 해당 Acitivity 선택 후 'Window soft input mode' 속성 에서 'stateAlwaysHidden' 을 선택 합니다. 화면 진입시 포커스가 생기지 않지만, 클릭을 하면 포커스를 받아 키보드를 띄울 수 있습니다.
 

(2) EditText에 글자 수 제한 하기 : android:maxLength="10" 해당 설정 값으로 글자 수가 제한 됩니다.


(3) EditText에 이메일 입력 형식 키보드 띄우기 :  android:inputType="textEmailAddress"  이메일을 입력 할 수 있게 @를 포함한 문자열 키보드가 나타 납니다.


(4) EditText에 전화번호 입력 형식 키보드 띄우기 : android:inputType="phone" 전화번호만 입력 할 수 있는 키보드가 나타 납니다.


(5) EditText에 '숫자'와 '.'(점) 입력 키보드 띄우기 :  edittext.setInputType(InputType.TYPE_CLASS_NUMBER
|InputType.TYPE_NUMBER_FLAG_DECIMAL)
 속성을 입력해 주면 숫자와 .만으로 구성된 키보드가 나타 납니다.


(6) EditText에 '숫자'와 '.'(점) '-'(마이너스) 입력 키보드 띄우기 :   
edittext.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_DECIMAL
|InputType.TYPE_NUMBER_FLAG_SIGNED)
 속성을 입력해 주면 숫자와 . 그리고 - 로 구성된 키보드가 나타 납니다.


(7) EditText에 흰트 삽입하기 : android:hint="" 에 String값을 넣어주면 흰트를 설정 할 수 있다. 흰트란 edittext에 무언가 입력 하기 전에 어떠한 형식의 입력을 유도하거나 정보를 주는 글이다.


(8) EditText에 키보드 바로 띄우지 않기
 : Java Code

1. 
onResume에 해당 코드를 삽입 합니다.
 @Override
 protected void onResume() {
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
 }
2. AndroidManifest.xml에 Application TAB에서 해당 Activity를 클릭하면 Window soft input mode 가 나옵니다.
거기서  stateHidden 을 선택해 주시면 됩니다.
 

(9) EditText에 한줄만 사용하기 : android:singleLine="" 속성을 사용하면, 아무리 긴 글씨가 있어도 개행하지 않고, 한줄로만 입력 받아 보여지게 됩니다. 


(10) EditText 제일 위로 커서 이동 시키기 : android:gravity="top" 속성을 사용하면, EditText의 크기와 상관없이 가장 상위에 커서가 옮겨 가게 됩니다. 처음 EditText를 만들면 Default 설정으로 되어 있는데 Default 설정은 커서가 Center 정렬 입니다. 활용예로, gravity="center", gravity="bottom" 등이 있겠죠? 




 2. 메서드 


(1) setSelection(int index) : 커서의 위치를 index 만큼 이동 시킨다. (0이 제일 처음으로 이동)

ex) mEditText.setSelection(mEditText.length() - 1); (문자열의 맨마지막에서 -1 된 곳에 커서를 위치 시킨다.)


(2) setSelection(int start, int stop) : 커서의 위치를 start, stop 까지 위치(드래그 선택 영역 처럼 보임 -> abcdef ) 시킨다. 지정한 index 사이에 포함되는 문자열이 있을 경우에는 start 부터 stop 까지 선택된 화면으로 보이고, 지정한 index에 사이에 포함되는 문자열이 없을 경우 "IndexOutOfBoundsException" 나면서 APP이 종료 된다.


(3) getText().toString() : EditText에 입력된 문자열을 반환해 줍니다. 문자열이 아무것도 없을 경우에는 " " 공백을 반환해 줍니다.


(4)  getText().toString().length() : EditText에 입력된 문자열의 length를 반환해 줍니다. 문자열이 아무것도 없을 경우에는 0을 반환해 줍니다. 

<영역 차지(length)>

한글한자 : 1

영어한자 : 1

공백한칸 : 1




 3. 기타 주의사항





추가중...