2014-05-12 4 views
0

Android 앱의 경우 앱 키에서 설정 키를 완전히 사용 중지 할 수 있습니까?앱에서 키보드의 설정 버튼을 사용 중지하는 경우

userName = (EditText) findViewById(R.id.txt_name); 
password = (EditText) findViewById(R.id.password); 
userName.setOnKeyListener(this); 
password.setOnKeyListener(this); 

public boolean onKey(View v, int keyCode, KeyEvent event) { 

switch (v.getId()) { 
    case R.id.txt_name: 
    if ((event.getAction() == KeyEvent.ACTION_DOWN) 
    && (keyCode == KeyEvent.KEYCODE_SETTINGS)) { 
     mUserName = userName.getText().toString(); 
     if (mUserName.equals("")) { 
      Toast.makeText(this, "Enter user name...", 
      Toast.LENGTH_SHORT).show(); 

    } else 
    password.requestFocus(); 
    break 
    } 
} 

불행하게도 늘이 코드 :

Example

지금 내가 이런 걸 가지고

내가 사용하지 않을 버튼은 이미지의 왼쪽 하단에있는 두 번째 버튼입니다 설정 키를 감지하십시오.

+0

하지만 설정 버튼에 어떤 문제가 있습니까? –

+0

대답은 '아니오'라고 생각합니다. 키보드에는 여러 가지 구현 방법이 있으며, 이들 중 일부는이를 수행 할 수 있습니다. 그러나 모든 구현에 대해 작동하는지 확실하지 않을 수 있습니다. –

+0

내 앱만 실행할 수있는 키오스크 태블릿을 만들고 있습니다. 사용자 지정 ROM을 만들므로 하나의 키보드 만 있고 다른 키보드를 설치할 수있는 옵션이 없습니다. – user3506467

답변

2

안드로이드 앱의 소프트 키 보드에서 설정 키를 완전히 비활성화 할 수 있습니까?

이 단추가없는 입력기 편집기를 직접 작성하거나 기존 코드를 수정할 수 있습니다. 이것을 사용자 정의 ROM의 기본 키보드로 설정하면 목표를 달성 할 수 있습니다.

그러나 SDK 앱은이 버튼을 사용 중지하거나 입력 방식 편집기의 동작을 이러한 방식으로 제어 할 수 없습니다.

0

onKeyDown 대신 onKey을 시도하십시오. 귀하의 코드에서 예 :

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
switch (v.getId()) { 
    case R.id.txt_name: 
    if (keyCode == KeyEvent.KEYCODE_SETTINGS) {   
     mUserName = userName.getText().toString(); 
     if (mUserName.equals("")) { 
      Toast.makeText(this, "Enter user name...", 
      Toast.LENGTH_SHORT).show(); 

    } else 
    password.requestFocus(); 
    break 
    } 
} 
+1

불행히도, 나는 기울이지 않는다. 이 일을하게 .. – user3506467

+1

죄송합니다. 그래서 설정 키를 덮어 쓸 가능성이 없습니까? –

관련 문제