Jedna z moich aplikacji ma „ekran otwierający” (w zasadzie menu), EditText
po którym następuje kilka Button
sekund. Problem polega na tym, że kilku moich użytkowników zgłasza, że po otwarciu aplikacji automatycznie pojawia się klawiatura ekranowa, nawet bez dotykania EditText
. O ile wiem, wszyscy ci użytkownicy używają HTC Hero .
Czy to błąd w wersji 1.5? Czy jest coś, co mogę z tym zrobić?
android
android-softkeyboard
Jeremy Logan
źródło
źródło
Odpowiedzi:
Możesz użyć następującego wiersza kodu w metodzie onCreate działania, aby upewnić się, że klawiatura wyskakuje tylko wtedy, gdy użytkownik kliknie w EditText
źródło
android:windowSoftInputMode="stateHidden"
jak tutajDziała to dla Androida 3.0, 3.1, 3.2, 4.0 - Edytor używany do kompilacji (Eclipse 3.7)
Umieść 'windowSoftInputMode = "stateHidden"' w pliku manifestu XML swojej aplikacji dla KAŻDEJ czynności, w której chcesz, aby klawiatura oprogramowania pozostała ukryta. Oznacza to, że klawiatura nie pojawi się automatycznie i użytkownik będzie musiał 'kliknąć' pole tekstowe, aby je wyświetlić. Szukałem przez prawie godzinę czegoś, co działało, więc pomyślałem, że się tym podzielę.
źródło
Dodaj to w swoim AndroidManifest.xml :
Działa doskonale. :)
źródło
requestFocus()
.Ten kod będzie działał na wszystkich wersjach Androida:
źródło
Dodaj to w układzie nadrzędnym pliku XML.
Zapewnia, że fokus nie znajduje się na editText po rozpoczęciu działania.
źródło
Możesz użyć tego w metodzie onCreate () działania
lub wklej ten kod w tagach Activity w AndroidManifest.xml
źródło
Możesz dodać pojedynczą linię kodu w Android Mainfest.xml pod tagiem aktywności
to może ci pomóc.
źródło
W tej wersji Androida, gdy widok jest zawyżony, fokus zostanie domyślnie ustawiony na pierwszą kontrolkę, na którą można ustawić fokus - a jeśli nie ma fizycznej klawiatury, pojawi się klawiatura ekranowa.
Aby to naprawić, jawnie ustaw fokus w innym miejscu. Jeśli fokus jest ustawiony na cokolwiek innego niż EditText, klawiatura ekranowa nie pojawi się.
Czy próbowałeś to przetestować, uruchamiając Androida 1.5 w emulatorze?
źródło
Możesz to zrobić programowo, jak
lub umieścić
android:windowSoftInputMode="stateHidden"
w<activity tag
środkuAndroidManifest.xml
źródło
Uwzględnij to, gdy import jest na górze:
Dodaj ten kod do części OnCreate:
źródło
* To jest dla Android.xamarin i FindFocus () - wyszukuje widok w hierarchii zakorzenionej w tym widoku, który jest obecnie aktywny, ponieważ mam _enterPin.RequestFocus () przed powyższym kodem, więc pokazuje klawiaturę dla _enterPin EditText *
źródło