Nice programing

Android 소프트 키보드가 에뮬레이터에 표시되지 않음

nicepro 2020. 9. 25. 23:33
반응형

Android 소프트 키보드가 에뮬레이터에 표시되지 않음


저는 Android를 처음 사용합니다. 나는 벌써 2 시간을 검색에 보냈다. 내가 시도하는 소프트 키보드는 내 EditText. 간단하게 만듭니다.

EditText editText = (EditText)findViewById(R.id.editText);

나는 시도했다 :

 editText.requestFocus();//i tried without this line too
 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
 imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

과:

editText.setOnFocusChangeListener(new OnFocusChangeListener() {

         @Override
         public void onFocusChange(View v, boolean hasFocus) 
         {    

                     InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                     imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

         }
     });

나는 또한 시도했다 :

getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);

이 줄을 AndroidManifest.xml파일에 넣어 보았습니다 .

 android:windowSoftInputMode="stateVisible|adjustResize"

그러나 모두 헛된 것입니다. 그것은 결코 보여주지 않습니다. 내가 무엇을 놓치고 있습니까?


에뮬레이터가 하드웨어 키보드 를 사용하도록 설정되어 있지 않은지 확인해야합니다 . EditAVD에서 선택한 에뮬레이터를 선택하면 됩니다. 그런 다음 설정을 선택 취소 하십시오 Hardware keyboard present.

Genymotion 과 같은 다른 에뮬레이터를 사용해 볼 수도 있습니다 . 전체 하드웨어 가속 (멀티 코어 CPU 및 GPU)을 지원하며 Android 에뮬레이터 이미지보다 훨씬 빠르게 실행됩니다. Genymotion을 사용하는 경우 Android 내에서 하드웨어 키보드를 비활성화해야합니다 (자세한 내용은 아래 참조).

Genymotion에서 하드웨어 키보드를 비활성화하려면 : ->로
이동하여 에서 항목을 엽니 다 . 켜고 끌 수 있는 설정이 있습니다. 이 경우 당신은 당신의 실제 키보드를 사용하고있을 때 떨어져 표준 소프트 키보드 팝업해야 텍스트 필드에 포커스를 얻을 때마다.SettingsLanguage & inputDefaultKeyboard & Input MethodsHardware

Genymotion 설정 스크린 샷 : 기본 항목

여기에 이미지 설명 입력


버전 2.1.1에서-가상 장치 설정을 클릭 한 다음 "입력에 가상 키보드 사용"확인란을 선택합니다. 여기에 이미지 설명 입력

여기에 이미지 설명 입력


AS 1.1.0에서 하드웨어 키보드를 선택 해제하는 두 곳이 있습니다. 이것으로는 충분하지 않습니다.

여기에 이미지 설명 입력

이 작업을 수행해야합니다 (클릭 Tools | Android | AVD Manager한 다음 새 AVD를 만들거나 이전 AVD를 편집 한 다음 클릭 Show Advanced Settings, 아래로 스크롤하여 지움 Enable keyboard input).

여기에 이미지 설명 입력


에뮬레이터가 소프트 키보드를 지원하지 않을 수 있습니다.

하드웨어 속성 키보드 지원을 추가하고 에뮬레이터에 대해 true로 설정합니다.

이미 사실이면 이 답변확인하십시오.


표시하려면 :

EditText editText = (EditText) findViewById(R.id.myEdit);
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
// only will trigger it if no physical keyboard is open
mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

그리고 숨기려면 :

InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);

이거 먹어봐 ....


Android Studio 2 이상 에뮬레이터에 화면 상 소프트 키보드를 활성화하는 방법은 에뮬레이터의 API 수준에 따라 다릅니다. API 15로 시작하는 다양한 방법을 테스트했으며 아래 단계를 기록했습니다.

[A] APIs 15, 17, 19 and 21.

The following steps will enabled the on-screen soft keyboard but will disable the ability to enter text and interact with the AVD using the hardware computer keyboard.

  1. In Android Virtual Device Manager (AVD), click the edit action for the device you wish to work with
  2. Click Show Advanced Settings and scroll right down to the bottom of the page to the "Keyboard" section
  3. Uncheck the "Enable keyboard input" option

[B] API 22

The soft keyboard is displayed no matter what you do with the hardware keyboard settings. If you wish to enable hardware keyboard support alongside the soft keyboard then,

  1. In AVD, click the edit action for the device you wish to work with
  2. Click Show Advanced Settings and scroll right down to the bottom of the page to the "Keyboard" section
  3. Check the "Enable keyboard input" option

[C] API 23

If you wish to use the hardware and soft keyboard then...

  1. Follow [B] steps 1 to 3
  2. On the virtual device, Launch Settings, then select Language and input / Current Keyboard
  3. Enable Hardware - Show input method

If you don't need the hardware keyboard, in AVD advanced settings, uncheck the "Enable keyboard input" option. You won't need to change any settings on the virtual device.

[D] APIs 24 and 25

  1. Follow [B] steps 1 to 3 above, checking or unchecking the "Enable keyboard input" option depending on whether you want to enable the hardqare keyboard.
  2. On the virtual device, Launch Settings, then select Language and input / Physical Keyboard
  3. Enable "Show virtual keyboard"

AVD에서 키보드 입력 활성화 옵션을 선택한 경우 이제 하드 및 소프트 키보드 입력을 모두 사용할 수 있습니다. AVD에서 옵션을 선택 취소하면 소프트 키보드가 표시됩니다.

[E] API 26

언어 및 입력 / 물리적 키보드에 도달하기 전에 장치 설정에서 추가 "시스템"메뉴 수준을 탐색해야한다는 점을 제외하면 [D] API 24 및 25와 정확히 동일합니다.

참고 URL : https://stackoverflow.com/questions/18288228/android-softkeyboard-never-shows-up-in-emulator

반응형