program story

소프트 키보드가 표시 될 때 레이아웃을 위로 이동하는 방법 android

inputbox 2020. 9. 21. 07:39
반응형

소프트 키보드가 표시 될 때 레이아웃을 위로 이동하는 방법 android


EditTexts내 레이아웃에 로그인 화면이 2 개 있고 로그인 버튼이 하나 있습니다. 문제는 입력을 시작하면 소프트 키보드가 표시되고 로그인 버튼을 가린다는 것입니다. 레이아웃이 나타날 때 키보드 위로 또는 위로 레이아웃을 어떻게 밀 수 있습니까?

나는을 사용하고 ScrollView싶지 않고 스크롤하지 않고 구현하고 싶습니다. 제발 그 방법을 제안 해주세요. 미리 감사드립니다.


windowSoftInputMode속성 설정 adjustPanadjustResize

<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>

활동에 해당하는 Android 매니페스트 파일에서 이것을 시도하십시오.

<activity android:windowSoftInputMode="adjustPan"> </activity>

onCreate()방법 에이 코드를 사용하십시오 .

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

android:windowSoftInputMode="adjustResize"

매니페스트 파일 내부의 활동 태그에서 트릭을 수행합니다.


이 줄을 manifest.xml의 활동 선언 시간에 넣으십시오.

<android:windowSoftInputMode="adjustPan">

나는 어떻게 든 장치의 소프트 키보드 상태를 알고 이것을 달성했습니다. 키보드가 표시되면 레이아웃을 y 위치로 이동하고 표시되지 않으면 원래 위치로 다시 이동합니다. 이것은 잘 작동 하며이 지침을 따랐습니다 .


android:fitsSystemWindows="true"

레이아웃 파일의 기본 레이아웃에 속성을 추가하고

android:windowSoftInputMode="adjustResize"

Activty의 Manifest.xml 파일에 줄을 추가하십시오.

저에게 완벽한 작품입니다.


이것을 매니페스트 파일의 활동 선언에 넣으십시오. <activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>

또는 원하는 경우 활동의 onCreate () 메소드를 추가 할 수 있습니다.

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

이것이 필요한 전부입니다.

<activity android:windowSoftInputMode="adjustResize"> </activity>

가이드 에 따라이를 달성하는 올바른 방법은 매니페스트에서 선언하는 것입니다.

<activity name="EditContactActivity"
        android:windowSoftInputMode="stateVisible|adjustResize">

    </activity>

소프트 키보드가 나타나면 기본 레이아웃의 크기가 변경되며, 필요한 것은 해당 메인 레이아웃에 대한 리스너를 만들고 해당 리스너 내 scrollT0(x,y)에서 스크롤 할 코드 추가하는 것입니다.


xamarin으로 작업하는 WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize경우 MainActivity 클래스의 활동 특성 에이 코드 넣을 수 있습니다 . 예를 들어, 이제 활동 속성은 다음과 같습니다.

    [Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
    {
        //some code here.
    }

상대 레이아웃을 사용하면 텍스트를 입력하는 동안 해당보기를 볼 수 있도록보기가 조정됩니다.


이건 내게 매력처럼 작용 해

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

당신은 사용해야합니다

android:windowSoftInputMode="adjustPan|stateHidden"

당신의 AndroidManifest.xml파일을 어디서 활동을 선언하고 있습니다. 레이아웃에 키보드가 표시 될 때 레이아웃 내용이 조정됩니다.


이것은 확실히 당신을 위해 일할 것입니다.

android : windowSoftInputMode = "adjustPan"

참고 URL : https://stackoverflow.com/questions/9111813/how-to-move-the-layout-up-when-the-soft-keyboard-is-shown-android

반응형