티스토리 뷰

Android/정리

키패드

란텔 2016. 9. 4. 15:42

키패드 기능은 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
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday