화면이 나타날 때 필드의 자동 초점 / 키보드 팝업을 제거하는 방법은 무엇입니까?
첫 번째 필드가 EditText 인 화면이 있고 시작시 초점이 맞춰지고 숫자 입력 유형도 팝업되어 매우 짜증납니다.
활동이 시작될 때 포커스를 얻지 못하거나 입력 패널이 올라가지 않는지 어떻게 확인할 수 있습니까?
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);
또는
응용 프로그램 태그에서 아래와 같이 매니페스트 파일의 활동 속성을 설정합니다.
android:windowSoftInputMode="stateHidden"
애플리케이션 매니페스트 파일로 이동하여 자동 키보드 팝업을 비활성화하려는 활동에 대해이 줄을 작성합니다.
android:windowSoftInputMode="stateHidden"
프로그래밍 방식으로 키보드를 표시하지 않지만 기본 위젯이 여전히 포커스 호출을 수신하려면 :
getWindow().setSoftInputMode(WindowManager.
LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
에 onResume()
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
내부에 상기 방법 호출 에서 onCreate () .IT 방지 softKeyboard을 사용자가 선택하지 않으면 보여 글고을 하여
tapping or clicking.
또는 단순히 android:windowSoftInputMode="stateHidden"
활동 태그를Manifest.xml
이것은 일반적으로 엉망입니다. 가장 먼저 시도하는 것은를 통해 다른 뷰로 초점을 훔치는 것입니다. 또한 focusable 및 focusableInTouchMode가 있어야합니다.
<TextView
...
android:focusable="true"
android:focusableInTouchMode="true">
<requestFocus/>
</TextView>
다른 뷰로 초점을 맞 춥니 다. 기본적으로 첫 번째 포커스 가능한 뷰는 레이아웃이 확장 될 때 포커스를받습니다. XML을 통해 다른 뷰에 대한 포커스를 요청할 수 있습니다.
<TextView
android:layout_width="wrap_parent"
android:layout_height="wrap_content"
android:text="Some other view">
<requestFocus />
</TextView>
이것은 모든보기에서 작동합니다.
프로그래밍 방식으로 수행하려면 view.requestFocus()
.
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED)
{
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
}
이것을 시도하지 않았고 프로그래밍 컴퓨터 근처에 있지 않지만 프로그래밍 방식으로 부모보기에 포커스를 보내거나 그 성격의 무언가가 트릭을 할 수 있다고 의심합니다. 그것이 솔루션보다 해결 방법 일 가능성이 높지만 다시 테스트 할 수는 없습니다. 생각
'development' 카테고리의 다른 글
PostgreSQL에 이미지 저장 (0) | 2020.08.20 |
---|---|
문자열에서 UTF8이 아닌 문자 제거 (0) | 2020.08.19 |
url에서 Pandas read_csv (0) | 2020.08.19 |
플롯의 오른쪽에 Python Matplotlib Y 축 눈금 (0) | 2020.08.19 |
+ =는 파이썬에서 정확히 무엇을합니까? (0) | 2020.08.19 |