2011-11-07 3 views
3

키보드 위의 이전, 다음 버튼이있는 가상 키보드를 표시하려고합니다.키패드 위의 이전 및 다음 버튼 필요

사용자가 이전 버튼을 클릭하면 커서는 이전 편집 텍스트 입력 필드로 이동해야하며 다음 버튼을 클릭하면보기의 다음 편집 텍스트 필드로 이동해야합니다.

내 자신의 활동에 이러한 버튼을 사용하고 싶습니다. 어떻게해야합니까?

+0

() 메소드를 onKeyDown에 대체 할 수 있습니다. –

답변

2

매니 페스트 내의 activity 요소에 android : windowSoftInputMode = "adjustPan"을 추가하면됩니다. 예 :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.codename.android" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" 
     android:label="@string/app_name" 
     android:theme="@style/MyTheme" 
     > 

     <activity android:name=".MainActivity" 
        android:label="@string/app_name" 
        android:windowSoftInputMode="adjustPan"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
    <uses-sdk android:minSdkVersion="7" /> 
</manifest> 

이렇게하면 가상 키보드가 표시 될 때보기 크기가 조절되지 않습니다.

+0

그리고 내가 그 다음에 키패드에서 다음 버튼을 눌렀을 때를 표시하려면 edittext 키패드를 클릭하면 다음 editext 상자로 이동하는 다음 버튼이 포함됩니다. 입력을 끝내려면 버튼을 클릭하십시오 .. 어떻게하면 되나요? – eagle

+0

다음 편집 텍스트 상자로 이동하려면 "다음"버튼의 onClickListener에 의도를 추가하십시오. 입력을 잠그기 위해 android : editable = "false"완료 버튼을 사용하십시오. – himanshu

2

레이아웃의 편집 텍스트에 대해 적절한 IME 옵션을 설정할 수 있습니다.

android:imeOptions="actionNext" 

및 수행

안드로이드

: 대해서는 imeOptions = "actionDone"

1
Android code to override the "Done" button in my EditText field: 

myEditField.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      if (actionId == EditorInfo.IME_ACTION_DONE) { 

       InputMethodManager imm =(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(getWindowToken(), 0);//hide the keyboard. 

       return true; 
      } 
      return false; 
     } 
    });