[java] 활동 시작시 키보드가 표시되지 않도록 방지

Edit Text입력 이있는 활동이 있습니다. 활동이 초기화되면 Android 키보드가 표시됩니다. 사용자가 입력에 집중할 때까지 키보드를 어떻게 숨길 수 있습니까?



답변

나는 다음이 효과가 있다고 생각한다

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

나는 전에 이런 종류의 것을 위해 그것을 사용했습니다.


답변

이것을 시도하십시오-

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

그렇지 않으면 매니페스트 파일의 활동에 선언하십시오.

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
          android:label="@string/app_name"
          android:windowSoftInputMode="stateHidden"
          >

이미 사용 된 경우 android:windowSoftInputMode같은 값 adjustResize또는 adjustPan두 개의 값을 같이 결합 할 수 있습니다 :

<activity
        ...
        android:windowSoftInputMode="stateHidden|adjustPan"
        ...
        >

이것은 필요할 때마다 키보드를 숨기지 만 키보드가 표시되어야 할 경우 활동보기를 이동합니다.


답변

테마를 사용하여 모든 활동에 숨기기

<style name="MyTheme" parent="Theme">
    <item name="android:windowSoftInputMode">stateHidden</item>
</style>

테마를 설정

<application android:theme="@style/MyTheme">


답변

이 두 속성을 부모 레이아웃에 추가하십시오 (예 : 선형 레이아웃, 상대적 레이아웃).

android:focusable="false"
android:focusableInTouchMode="false" 

그것은 트릭을 할 것입니다 🙂


답변

매니페스트 파일로 선언하십시오.

<activity android:name=".HomeActivity"
      android:label="@string/app_name"
      android:windowSoftInputMode="stateAlwaysHidden"
      >


답변

API 레벨 21을 사용하는 경우 editText.setShowSoftInputOnFocus (false)를 사용할 수 있습니다.


답변

그냥 AndroidManifest.xml에 추가하십시오

<activity android:name=".HomeActivity"  android:windowSoftInputMode="stateHidden">
</activity>