Programing

안드로이드 소프트 키보드 커버 편집 텍스트 필드

crosscheck 2020. 6. 7. 10:28
반응형

안드로이드 소프트 키보드 커버 편집 텍스트 필드


텍스트 필드를 볼 수 있도록 화면을 스크롤하는 방법이 있습니까?


소프트 키보드가 열릴 때 보이는 것을 제어하는 ​​방법을 묻고 있습니까? windowSoftInputMode 로 재생할 수 있습니다 . 자세한 내용은 개발자 문서참조하십시오 .


나는 같은 문제가 있었다. 다음 코드를 시도하십시오.

android:windowSoftInputMode="adjustPan"

입력을 보유한 활동의 ​​활동 태그에서 manifest.xml에 추가하십시오. 예:

<activity
            android:name=".Activities.InputsActivity"
            ...
            android:windowSoftInputMode="adjustPan"
            />

소프트 키보드가 화면 하단에 위치한 EditText보기 위에있는 것과 같은 문제가있었습니다. 내 AndroidManifest.xml 파일의 관련 활동에 단일 행을 추가하여 솔루션을 찾을 수있었습니다.

android:windowSoftInputMode="adjustResize|stateHidden"

전체 활동 태그는 다음과 같습니다.

<activity
        android:name="com.my.MainActivity"
        android:screenOrientation="portrait"
        android:label="@string/title_activity_main"
        android:windowSoftInputMode="adjustResize|stateHidden" >
    </activity>

여기서 가장 중요한 값은 adjustResize입니다. 그러면 전체 UI가 위로 이동하여 소프트 키보드를위한 공간이 제공됩니다.


스크롤하고 싶은 것을 감싸기 위해 ScrollView를 추가해보십시오. 소프트 키패드를 열 때 대화 상자 위젯 (특히 EditTexts)이 스크롤되는 동안 실제로 스크롤하지 않는 헤더를 그대로 두는 방법은 다음과 같습니다.

<LinearLayout android:id="@+id/HeaderLayout" >
  <!-- Here add a header or whatever will not be scrolled. -->
</LinearLayout>
<ScrollView android:id="@+id/MainForm" >
  <!-- Here add your edittexts or whatever will scroll. -->
</ScrollView>

나는 일반적으로 ScrollView 안에 LinearLayout을 가지고 있지만 그것은 당신에게 달려 있습니다. 또한 스크롤 막대 스타일을 outsideInset으로 설정하면 적어도 내 장치에서 도움이됩니다.


당신이해야 할 일은

android:isScrollContainer="true"

출처 : http://www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-scrolling/


오래된 스레드를 되살려 서 죄송하지만 android:imeOptions="flagNoFullscreen"EditText 요소에서 언급 한 설정이 없습니다.


android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"

안드로이드 EditText에서는 작동하지만 webview 또는 xwalkview에서는 작동하지 않습니다. 소프트 키보드가 webview 또는 xwalkview에서 입력을 숨길 때 사용했습니다android:windowSoftInputMode="adjustResize"


선택 방법을 통해 프로그래밍 방식으로 달성 할 수있는 트랙볼을 사용하여 스크롤 할 수 있다고 생각하지만 아이디어 일뿐입니다. 트랙볼 방법이 일반적으로 작동한다는 것을 알고 있지만이 작업을 수행하고 코드에서 작동하게하는 정확한 방법은 확실하지 않습니다.
희망이 도움이됩니다.


이 단일 행을 키 보드가 활동의 onCreat () 메소드 내부에서 text.inside를 편집하는 상대 활동에 추가하십시오.

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

나는 이것이 오래된 것을 알고 있지만 위의 해결책 중 어느 것도 나를 위해 일하지 않았다. 광범위한 디버깅 후 문제를 파악했습니다. 해결책은 android:windowTranslucentStatusstyles.xml에서 속성을 false로 설정하는 것입니다.


AndroidManifest.xml 편집

android:windowSoftInputMode="adjustResize"

Add this to your root view of Layout file.

android:fitsSystemWindows="true"

That's all.

참고URL : https://stackoverflow.com/questions/3295672/android-soft-keyboard-covers-edittext-field

반응형