2010-11-22 6 views
2

이상한 문제가 있습니다. 내 응용 프로그램은 2.1 (에뮬레이터 + 장치)에서 정상적으로 작동합니다. 그러나 2.2 (에뮬레이터 + 장치 모두)을 사용하면 부드러운 키보드에 문제가 있습니다. 앱에 가로 모드의 액티비티가 있습니다 ( android : screenOrientation = "landscape"사용). 해당 활동에 두 개의 EditText가 있습니다. 그러나 부드러운 키보드는 해당 키보드에 대해 을 표시하지 않습니다. 사실, softkeyboard apprear 것으로 보이지만 하단에 바. 스크린 샷을 보시기 바랍니다. 소프트 키보드가 2.2 가로 모드로 표시되지 않습니다.

screenshot

어떤 도움

는 이해할 수있을 것이다. 감사 Sarwar 에판

안드로이드를위한 여러 가지 시도 : windowSoftInputMode를, 내가 에뮬레이터 또는 장치가있는 경우 2.3에서 softkeyboard 늘 가로 모드에 표시 것을 발견

<Activity android:name=".PriceCalculator" 
    android:screenOrientation="landscape" 
    android:windowSoftInputMode="stateAlwaysVisible|adjustPan" 
    android:configChanges="orientation" 
    android:label="Pricing Calculator"> 
    .... 
</Activity> 


<EditText 
    android:id="@+id/adhesiveUnitPrice" 
    android:inputType="numberDecimal" 
    android:imeOptions="actionDone|flagNoExtractUi" 
    android:layout_column="4" android:gravity="right"/> 
+0

이 옵션은 무엇을하고 있습니까? : flagNoExtractUi – ykatchou

+0

그 옵션은 도움이되지 않습니다. 나는 에뮬레이터 나 장치에 하드웨어 키보드가있는 경우 2.3에서 소프트 키 보드가 가로 모드로 표시되지 않는다는 것을 알았습니다. –

답변

2

를 작동하지 않았다 하드웨어 키보드.

0

나는 내 코드에서 비슷한 문제를 겪었다 (아래 예제 참조). FYI, "InputMethodManager.SHOW_IMPLICIT"를 "InputMethodManager.SHOW_FORCED"로 대체하여 문제가 해결되었습니다.

public class Main extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    EditText et = (EditText)findViewById(R.id.et); 

    et.setFocusableInTouchMode(false); 

    final Context context = this; 

    et.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      v.requestFocusFromTouch(); 

      InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.showSoftInput(v, InputMethodManager.SHOW_FORCED); 

     } 
    }); 

} 

}

+0

Android 2.2 및 실제 키보드가있는 실제 기기에서 테스트 했습니까? 어떤 기기를 테스트 했습니까? –

+0

사실, 나는하지 않았다. 하지만 위의 코드를 HTC WildFire에서 테스트했습니다 (Android 2.2에서 실행되지만 실제 키보드는 없습니다). 가로 모드에서 SHOW_IMPLICIT로 SHOW_FORCED를 대체하면 소프트 보드가 트리거되지 않습니다. – Gilbou

+0

참고하시기 바랍니다. 가로 모드에서 에뮬레이터 (Android 2.2 + 실제 키보드)를 사용하면 위의 코드로 소프트 키 보드가 트리거되지 않습니다. – Gilbou

관련 문제