소프트 키보드가 표시 될 때 레이아웃을 위로 이동 하시겠습니까? 설정된 RelativeView에 몇 가지 요소가 있습니다. 화면 공간이

소프트 키보드가 나타날 때 요소가 소프트 키보드에 의해 숨겨지면 하단 정렬 속성이 설정된 RelativeView에 몇 가지 요소가 있습니다.

화면 공간이 충분하면 키보드 위에 표시되거나 키보드 위의 섹션을 스크롤 가능하게하여 사용자가 여전히 요소를 볼 수 있도록 위로 이동하고 싶습니다.

이것에 접근하는 방법에 대한 아이디어가 있습니까?



답변

예, Android 개발자 사이트 에서 프레임 워크가 표시되는 소프트 키보드를 처리하는 방법을 설명하는 이 기사를 확인하십시오 .

android:windowSoftInputMode속성을 사용하여 레이아웃별로 크기를 조정할지 또는 스크롤 할 것인지 등 활동별로 수행 할 작업을 지정할 수 있습니다.


답변

이 코드를 onCreate()메소드 에서 사용할 수도 있습니다 .

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

답변

활동을 위해 AndroidManifest.xml에 추가하십시오.

android:windowSoftInputMode="adjustPan|adjustResize"

답변

다음과 같이 매니페스트 파일의 활동을 변경하십시오.

windowSoftInputMode="adjustResize"

또는

다음 onCreate()과 같이 활동 클래스에서 메소드를 변경하십시오.

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

답변

비슷한 문제 내부 스크롤보기를 구성하는 레이아웃에 직면했습니다. EditText에서 텍스트를 선택하려고 할 때마다 복사 / 잘라 내기 / 붙여 넣기 작업 표시 줄이 아래 코드와 함께 위로 이동하여 레이아웃 크기가 조정되지 않습니다.

android:windowSoftInputMode="adjustPan"

아래와 같이 수정하여

1) AndroidManifest.xml

android:windowSoftInputMode="stateVisible|adjustResize"

2) 활동 스타일의 style.xml 파일

<item name="android:windowActionBarOverlay">true</item>

효과가있었습니다. !!!!!!!!!!!!


답변

AndroidManifest.xml에서 다음을 설정하는 것을 잊지 마십시오.

 android:windowSoftInputMode="adjustResize"

그리고 ScrollView 내부의 RelativeLayout의 경우 다음을 설정하십시오.

 android:layout_gravity="center" or android:layout_gravity="bottom" 

괜찮을거야


답변

oncreate 메소드의 활동에 대해 아래 행 삽입

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

onCreate 메소드의 조각

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);