Mam ekran logowania z dwoma EditTexts
i przyciskiem logowania w moim układzie. Problem w tym, że kiedy zaczynam pisać, pojawia się klawiatura programowa i zakrywa przycisk logowania. Jak mogę przesunąć układ w górę lub nad klawiaturę, gdy się pojawi?
Nie chcę używać a ScrollView
, po prostu chcę go zaimplementować bez przewijania w dół. Proszę, zasugeruj mi, jak to zrobić. Z góry dziękuję.
android
android-softkeyboard
cavallo
źródło
źródło
<activity android:windowSoftInputMode="adjustResize"></activity>
działało.Spróbuj tego w pliku manifestu Androida odpowiadającym działaniu.
<activity android:windowSoftInputMode="adjustPan"> </activity>
źródło
Użyj tego kodu w
onCreate()
metodzie:getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
źródło
SOFT_INPUT_ADJUST_RESIZE
zamiast ADJUST_PAN, zadziałała dla mnietylko
android:windowSoftInputMode="adjustResize"
w tagu aktywności w pliku Manifest załatwi sprawę
źródło
Umieść ten wiersz w godzinie deklaracji aktywności w pliku manifest.xml
<android:windowSoftInputMode="adjustPan">
źródło
W jakiś sposób osiągnąłem to, znając stan miękkiej klawiatury na urządzeniu. Przenoszę układ do pozycji y, gdy klawiatura jest wyświetlana, i cofam ją do pierwotnego położenia, gdy nie jest wyświetlana. to działa dobrze, postępowałem zgodnie z tymi wytycznymi.
źródło
android:fitsSystemWindows="true"
dodaj właściwość do głównego układu pliku układu i
android:windowSoftInputMode="adjustResize"
dodaj wiersz w pliku Manifest.xml na swoim Activty
to dla mnie idealna praca.
źródło
false
, liczba wyświetleń nie wzrośnie.Umieść to w swojej deklaracji aktywności w pliku manifestu
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
lub jeśli chcesz, możesz dodać metodę onCreate () swojego działania
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
źródło
android:windowSoftInputMode
opis). @ kiwicomb123, wybierz jeden parametr lub system wybierze za Ciebie (i ten wybór może się zmienić na innym urządzeniu / wersji API)To wszystko, czego potrzeba:
<activity android:windowSoftInputMode="adjustResize"> </activity>
źródło
Zgodnie z tym przewodnikiem , prawidłowym sposobem osiągnięcia tego jest zadeklarowanie w swoim manifeście:
<activity name="EditContactActivity" android:windowSoftInputMode="stateVisible|adjustResize"> </activity>
źródło
Kiedy pojawi się klawiatura programowa, zmienia rozmiar głównego układu, a to, co musisz zrobić, to utworzyć odbiornik dla tego głównego odtwarzacza, a wewnątrz tego odbiornika dodaj kod,
scrollT0(x,y)
aby przewinąć w górę.źródło
Jeśli pracujesz z platformą Xamarin, możesz umieścić ten kod
WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize
w atrybucie activity klasy MainActivity. Na przykład teraz atrybut aktywności będzie wyglądał jak poniżej[Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)] public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity { //some code here. }
źródło
Skorzystaj z układu względnego, aby dostosować widok, abyś mógł zobaczyć ten widok podczas wpisywania tekstu
źródło
Dla mnie to działa jak urok
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
źródło
Powinieneś użyć
android:windowSoftInputMode="adjustPan|stateHidden"
w
AndroidManifest.xml
pliku, w którym deklarujesz swoją aktywność. Spowoduje to dostosowanie zawartości układu, gdy w układzie jest wyświetlana klawiatura.źródło
To na pewno zadziała dla Ciebie.
android: windowSoftInputMode = "adjustPan"
źródło