가로로 소프트 키보드 입력을위한 전체 화면 편집보기를 비활성화 하시겠습니까?
소프트 키보드를 사용하는 Android 기기에서는 가로 모드 일 때 전체 화면 키보드 편집보기 (아래 그림 참조)가 표시되지 않도록하고 싶습니다 (즉, 소프트 키보드 자체와 그 뒤에있는보기 만보고 싶습니다).
setExtractViewShown(false)
on 메소드를 사용 하여이 작업을 수행 할 수 있다고 가정 InputMethodService
하지만 기본 인스턴스에 액세스 할 수 없으며 사용자 정의 입력 메소드를 구현하고 싶지 않습니다.
추가 편집 : 입력이 진행되는보기는 TextView
( View
사용자 정의 InputConnection
구현이 아님) android:imeOptions="flagNoExtractUi"
이 아니므로 여기서 작동하지 않습니다.
나는 마침내 내 자신의 질문에 대답했다.
입력 UI가 연결된 지점에서 추출 UI (즉, 전체 화면 편집 모드)를 비활성화 할 수 있습니다.
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI;
// etc.
}
그렇게하려면 activity xml로 이동 android:imeOptions="flagNoExtractUi"
하여 코드를 붙여 넣으 십시오. 그러나 어디에 붙여 넣어야합니까? 액티비티 XML 예제 코드를보고 EditText를 살펴보십시오.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<EditText
android:imeOptions="flagNoExtractUi"
android:id="@+id/etTextInAct"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
</LinearLayout>
키보드에 대한 추가 사용자 정의 옵션을 원하면 http://developer.android.com/guide/topics/ui/controls/text.html을 참조 하십시오.
부동산 추가 android:imeOptions="flagNoExtractUi"
각을 EditText
당신의 XML
파일.
위의 답변은 동적으로 추가 된 EditTexts에 대한 솔루션을 찾는 데 도움이되었습니다.
editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
android:imeOptions="flagNoFullscreen"
해당 기능을 달성하는 데 사용하십시오 .
또한 여러 imeOptions를 프로그래밍 방식으로 결합하려면 | 통사론.
예를 들어 가로에서 전체 화면 편집보기를 비활성화하고 키보드에서 "Next"키를 "OK"(ACTION_DONE)로 바꾸려면 다음을 사용할 수 있습니다.
editText.setImeOptions(EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI);
IME를 직접 수정하는 경우 다음을 재정 의하여 IME가 ExtractedView를 표시하지 않도록 할 수 있습니다 onUpdateExtractingVisibility
.
@Override
public void onUpdateExtractingVisibility(EditorInfo ei) {
ei.imeOptions |= EditorInfo.IME_FLAG_NO_EXTRACT_UI;
super.onUpdateExtractingVisibility(ei);
}
나는 늦게 조금 알고 있지만, 여전히 관심이 누군가를 위해, 여기 내 솔루션입니다 : 내 경우에는 내가 풍경이 있었다 활동 포함 글고을 그것의 상단을 나는이 검색에 자동 완성 기능을 구현하는 데 필요한 활동 , 이는 중복을 키보드로 인해 사용자가 RecyclerView의 결과를 볼 수없는 문제가 발생했습니다 . 그래서 레이아웃 에이 EditText가 생겼 습니다 .
<EditText
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:id="@+id/main_search_et"
android:imeOptions="actionSearch|flagNoExtractUi"
android:inputType="text" />
건배!
당신이 사용할 수있는 :
android:imeOptions="flagNoFullscreen"
편집 텍스트에서
내 해결책 :
android:imeOptions="flagNoExtractUi|flagNoFullscreen"
소프트 키보드를 숨기고 검색보기에서 포커스를 지우려면 전화를 걸 수 있습니다.
public void hideKeyboard(View view) {
InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
super.clearFocus();
'IT story' 카테고리의 다른 글
삭제가 허용됩니까? (0) | 2020.04.22 |
---|---|
JavaScript에서 정의되지 않은 것이 있는지 테스트 (0) | 2020.04.22 |
일반 유형 변환 FROM 문자열 (0) | 2020.04.22 |
README.md의 단락 안에 줄 바꿈 (0) | 2020.04.22 |
Java에서 문자열을 UTF8 바이트 배열과 변환하는 방법 (0) | 2020.04.22 |