내 앱 중 하나에 “열기 화면”(기본적으로 메뉴)이 있고 그 EditText
뒤에 몇 가지 Button
가 있습니다. 문제는 여러 사용자가 앱을 열 때을 터치하지 않고도 화면 키보드가 자동으로 팝업된다는보고입니다 EditText
. 내가 알 수있는 한,이 모든 사용자는 HTC Hero를 사용하고 있습니다.
1.5의 버그입니까? 내가 할 수있는 일이 있습니까?
답변
활동의 onCreate 메소드에서 다음 코드 행을 사용하여 사용자가 EditText를 클릭 할 때만 키보드가 팝업되도록 할 수 있습니다
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"
>
이것은 안드로이드 3.0, 3.1, 3.2, 4.0에서 작동합니다-편집에 사용되는 편집기 (Eclipse 3.7)
소프트웨어 키보드를 숨기고 자하는 각 활동에 대해 애플리케이션의 매니페스트 XML 파일에 ‘windowSoftInputMode = “stateHidden”‘을 배치하십시오. 이는 키보드가 자동으로 나타나지 않고 사용자가 컴퓨터를 ‘클릭’해야한다는 의미입니다. 텍스트 필드를 불러옵니다. 나는 약 1 시간 동안 효과가있는 것을 찾아서 공유 할 것이라고 생각했다.
답변
이것을 AndroidManifest.xml에 추가하십시오 .
android:windowSoftInputMode="stateHidden|adjustResize"
완벽하게 작동합니다. 🙂
답변
이 코드는 모든 안드로이드 버전에서 작동합니다 :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//Automatic popping up keyboard on start Activity
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
or
//avoid automatically appear android keyboard when activity start
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
}
답변
이것을 XML의 부모 레이아웃에 추가하십시오.
android:focusable="true"
android:focusableInTouchMode="true"
활동이 시작될 때 포커스가 editText에 있지 않도록합니다.
답변
활동의 onCreate () 메소드에서 이것을 사용할 수 있습니다
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
이 코드를 AndroidManifest.xml의 활동 태그에 붙여 넣습니다.
android:windowSoftInputMode="stateVisible"
답변
활동 태그 아래 Android Mainfest.xml 의 한 줄의 코드를 추가 할 수 있습니다
<activity
android:name="com.sams.MainActivity"
android:windowSoftInputMode="stateVisible" >
</activity>
도움이 될 수 있습니다.