2013-07-13 18 views
18

Tryb wprowadzania tekstu to "SOFT_INPUT_ADJUST_PAN", a gdy wyświetlana jest klawiatura, EditText przesuwa się w górę, aby pozostać widocznym, ale dolna część klawiatury i txt są zawsze sklejone, jak widać na zrzucie ekranu, chcę mieć trochę miejsca między nimi, Czy to możliwe?Odstęp między klawiaturą a EditTextem w Androidzie

Tryb wprowadzania musi pozostać jako "SOFT_INPUT_ADJUST_PAN".

Niestety tworzą mój angielski, z góry dzięki ...

Screenshot:

+0

Po co nalegać na używanie "adjustPan"? Używanie "adjustResize" nie będzie miało tego problemu. – arjoan

+0

Podczas korzystania z opcji "adjustResize" największy problem polega na tym, że pasek nawigacyjny na dole przesuwa się na górę klawiatury. – altosh

Odpowiedz

2

To może pomóc:

Jeśli ta linia jest napisane w kodzie następnie wyjąć go:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 

LUB:

Nie powinieneś ustawiać swoich layout_width i layout_heights z jawnymi wartościami pikseli. Zamiast tego użyj odpowiednio wrap_parent lub fill_parent.

OR:

Jeżeli ustawiłeś minSdkVersion do 3 następnie zmienić go na minSdkVersion=4

Edit:

Ustaw android:windowSoftInputMode o działalności do "adjustPan"

OR :

Dodaj ten kod na swojej głównej działalności w setOnTouchListener() twojego EditText:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED); 
+0

Dziękuję za odpowiedź, ale żaden z nich nie pracował dla mnie. – altosh

+0

Znajomość edytowanego kodu może ci pomóc .. –

+1

Dziękuję, tryb wprowadzania musi pozostać SOFT_INPUT_ADJUST_PAN. Gdy klawiatura jest wyświetlana, przykleja się do editekstów (na przykład editekstu u dołu ekranu). Jest ok, ale chcę trochę przestrzeni między edittext i klawiaturą. – altosh

1

Dlaczego nie spróbować?

android:windowSoftInputMode="adjustResize" 

Wiem, że chcesz wyregulować patelnię, ale rozwiąże to również Twój problem.

Ponieważ naprawdę chcesz pozostać przy adjustPan, może możesz spróbować przeprojektować nieco układ XML.

+0

To jest praca dla mnie. – boiledwater

+0

brak spacji między edittext i miękką klawiaturą. Nie mogę go znaleźć –

0

Zastanawiasz się, czy Twoja aplikacja jest wyświetlana na pełnym ekranie? czy ma pasek statusu? Jeśli jest to próba wyłączenia trybu pełnoekranowego i spróbuj sprawdzić, czy to rozwiązuje twój problem. Pamiętam, że jakiś czas temu pojawił się błąd.

+0

ma pasek stanu. – altosh

3

zastosowałem powyższe metody, które pracowały dla mnie było Set android: windowSoftInputMode o działalności do „adjustPan” niż I dodaje dopełnienie do EditText z grawitacją dolnej i działa jak czar. Dzięki,

+1

Wyściełanie działa, ponieważ w przeciwieństwie do marginesów jest postrzegane przez menedżera okien jako wewnętrzne dla widoku. Na przykład: editText.setPadding (0, 0, 0, 40) spowoduje, że twój widok uzyska dodatkowe 40 pikseli pod spodem, gdy pojawi się klawiatura. Nie musiałem ustawiać grawitacji, aby to działało. –

+1

co się stanie z tekstem wewnątrz editekstu, jeśli to zrobisz? –

+0

@ user1232726 jeśli ustawisz wysokość tekstu edycji na wartość wrap_content, tekst będzie wyglądał niecentralnie, ale będzie widoczny. Inna historia, jeśli na przykład ustawisz wysokość tekstu edycji na 41dp, a paddingBottom na 40dp –

Powiązane problemy