티스토리 뷰
키패드 기능은 InputMethodManager객체를 이용해서 다룰 수 있다.
EditText에 포커스를 하면 자동으로 키패드가 뜨는데 inputType이라는 속성 값을 부여함으로써 다른 모드의 키패드를 불러 올 수있다.
다음은 inputType의 대표적 속성이다.
inputType 속성값 |
설 명 |
number |
숫자 |
numberSigned |
0보다 큰 숫자 |
numberDecimal |
정수 |
text |
일반 텍스트 |
textPassword |
패스워드 표시 |
textEmalAddress |
이메일 표시 |
phone |
전화번호 표시 |
time |
시간 |
date |
날짜 |
layout.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/wrap" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.choonie.keypadapplication.MainActivity"> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text|textEmailAddress" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="buttonClickShowKeypad" android:text="키패드 열기" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="buttonClickHideKeypad" android:text="키패드 닫기" /> </LinearLayout> | cs |
activity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | public class MainActivity extends AppCompatActivity { InputMethodManager imManager; EditText et; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //키패드 관련 기능을 사용하기 위해는 InputMethodManager가 필요하다. imManager= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); et = (EditText) findViewById(R.id.editText); } //키패드 숨기기 public void buttonClickHideKeypad(View v){ View view = this.getCurrentFocus(); if (view != null) { imManager.hideSoftInputFromWindow(view.getWindowToken(), 0); } } //키패드 보이기 public void buttonClickShowKeypad(View v){ imManager.showSoftInput(et , 0); } } | cs |
키패드 기능을 사용하기 위해서는 InputMethodManager객체가 필요하고, 이 객체를 가져오려면 getSystemService를 이용하여 안드로이드 서비스에서 가져와야 한다.
위 코드를 실행하면 키패드를 직접 열고 닫을 수 있다.
'Android > 정리' 카테고리의 다른 글
안드로이드에서 서블릿을 호출하여 MySQL 질의 결과 가져오기 (0) | 2016.09.08 |
---|---|
리스트 뷰 (ListView) (0) | 2016.09.07 |
탭 (Tab) (0) | 2016.08.07 |
SeekBar (0) | 2016.08.04 |
WebView사용하기 (웹뷰) (0) | 2016.06.14 |
Comments