소프트 키보드가 표시 될 때 레이아웃을 위로 이동하는 방법 android
EditTexts
내 레이아웃에 로그인 화면이 2 개 있고 로그인 버튼이 하나 있습니다. 문제는 입력을 시작하면 소프트 키보드가 표시되고 로그인 버튼을 가린다는 것입니다. 레이아웃이 나타날 때 키보드 위로 또는 위로 레이아웃을 어떻게 밀 수 있습니까?
나는을 사용하고 ScrollView
싶지 않고 스크롤하지 않고 구현하고 싶습니다. 제발 그 방법을 제안 해주세요. 미리 감사드립니다.
windowSoftInputMode
속성 설정 adjustPan
및adjustResize
<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"
'program story' 카테고리의 다른 글
UIView 클래스에서 addSubview와 insertSubview의 차이점 (0) | 2020.09.21 |
---|---|
무엇을 선택해야합니까 : GTK + 또는 Qt? (0) | 2020.09.21 |
이 IP, 사이트 또는 모바일 애플리케이션은이 API 키를 사용할 권한이 없습니다. (0) | 2020.09.21 |
moment.js에서 날짜 만 비교하는 방법 (0) | 2020.09.21 |
jQuery 드래그 앤 드롭으로 클릭 이벤트 방지 (0) | 2020.09.21 |