답변:
소프트 키보드가 열릴 때 보이는 것을 제어하는 방법을 묻고 있습니까? windowSoftInputMode 로 재생할 수 있습니다 . 자세한 내용은 개발자 문서 를 참조하십시오 .
android:fitsSystemWindows="true"
이 문제를 해결하려면 루트보기에 추가하십시오 .
나는 같은 문제가 있었다. 다음 코드를 시도하십시오.
android:windowSoftInputMode="adjustPan"
입력을 보유한 활동의 활동 태그에서 manifest.xml에 추가하십시오. 예:
<activity
android:name=".Activities.InputsActivity"
...
android:windowSoftInputMode="adjustPan"
/>
adjustResize
놓지 않지만 입력 필드도 포함합니다.
소프트 키보드가 화면 하단에있는 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가 위로 이동하여 소프트 키보드를위한 공간이 제공됩니다.
adjustResize|stateHidden
아무런 차이가 없었습니다 adjustPan
.
스크롤하고 싶은 것을 감싸기 위해 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/
선택 방법을 통해 프로그래밍 방식으로 달성 할 수있는 트랙볼을 사용하여 스크롤 할 수 있다고 생각하지만 아이디어 일뿐입니다. 트랙볼 방법이 일반적으로 작동한다는 것을 알고 있지만이를 수행하고 코드에서 작동시키는 정확한 방법은 확실하지 않습니다.
희망이 도움이됩니다.
EditText 필드가 KeyBoard에 의해 포함 된 경우 다음 코드를 사용하십시오.
EditText= findViewById(R.id.edittext)
EditText?.getParent()?.requestChildFocus(EditText,EditText)
당신이 원하는 경우 커서 사용보다 집중 글고 치기에 있어야합니다 EditText.requestFocus()
후 EditText?.getParent()?.requestChildFocus(EditText,EditText)
포커스 글고 치기에 초점과 커서를 얻을하는 데 도움.