🤖 안드로이드 Android
[안드로이드/Android] EditText 자동 하이픈(-) 설정, 키보드 자동으로 올리기
핑크빛연어
2021. 5. 4. 11:44
안녕하세요! 안드로이드 에서 EditText 를 사용할 때 알아두면 좋은 것!
1. activity_main.xml
xml 에서 EditText 사용 시 설정방법입니다~
android:hint="전화번호" text 가 빈 상태(empty) 일 떄 출력될 텍스트 설정 (javascript 의 placeholder 같은거예용)
tools:text="010-0000-0000" 보통 android:text 를 사용하죠? tools:text 는 xml의 layout preview에서 어떻게 나오는지 확인할수 있고 실제 앱에서는 표시되지 않아서 개발 시 유용하게 사용 가능합니다.
android:inputType="phone" 키보드 입력 시 전화번호 만 가능하도록 설정
android:maxLength="13" text 의 글자수 제한 (최대 길이 설정) - 보통 전화번호나 주민등록번호를 입력받을 때 사용합니다.
<EditText
android:id="@+id/et_phone"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="80"
android:hint="전화번호"
tools:text="010-0000-0000"
android:gravity="center"
android:inputType="phone"
android:maxLength="13"
android:background="@drawable/custom_check_button">
</EditText>
2. EditText 자동 하이픈(-) 설정
edittext 자동 하이픈(-) 설정을 해주려면
일단 xml 의 EdtitText 에
android:inputType="phone" 과 android:maxLength="13" 를 추가해줍니다.
android:inputType="phone"
android:maxLength="13"
액티비티 java 파일에 다음과 같은 코드를 추가해줍니다.
EditText editText = (EditText) findViewById(R.id.et_phone);
// 연락처 입력시 하이픈(-) 자동 입력
editText.addTextChangedListener(new PhoneNumberFormattingTextWatcher());
3. EditText 키보드 자동으로 올리기
액티비티 java 파일에 다음과 같은 코드를 추가해줍니다.
EditText editText = (EditText) findViewById(R.id.et_phone);
new Handler().postDelayed(new Runnable() {
public void run() {
editText.requestFocus();
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
editText.setSelection(et_phone.length());
}
}, 100);
감사합니다 :)
728x90
반응형