Mam ekran, na którym pierwsze pole to EditText i na nim fokus pojawia się przy starcie, a także wyskakuje numeryczny typ wprowadzania, co jest bardzo denerwujące
Jak mogę się upewnić, że po rozpoczęciu działania fokus nie zostanie przeniesiony i / lub panel wprowadzania danych nie zostanie podniesiony?
android
keyboard
popup
android-softkeyboard
Pentium10
źródło
źródło
Formats: flag Values: adjustNothing, adjustPan, adjustResize, adjustUnspecified, stateAlwaysHidden, stateAlwaysVisible, stateHidden, stateUnchanged, stateUnspecified, stateVisible Specify the default soft-input mode for the main window of this activity. A value besides "unspecified" here overrides any value in the theme.
przejdź do pliku manifestu aplikacji i napisz tę linię dla tego działania, dla którego chcesz wyłączyć automatyczne wyskakujące okienko klawiatury.
źródło
Aby programowo nie wyświetlać klawiatury, ale domyślny widżet nadal odbierał wywołanie fokusa:
w
onResume()
źródło
lub po prostu dodaj
android:windowSoftInputMode="stateHidden"
tag aktywności wManifest.xml
źródło
Zwykle jest to bałagan. Pierwszą rzeczą, którą próbuję, jest próba przejęcia ostrości innym widokiem przez. Musisz także mieć możliwość ustawiania ostrości i ustawiania ostrościInTouchMode.
źródło
Skoncentruj się na innym widoku. Domyślnie pierwszy widok, na który można ustawić fokus, stanie się aktywny, gdy układ zostanie zawyżony. Możesz zażądać skupienia się na innym widoku przez XML:
Działa to dla każdego widoku.
Jeśli chcesz to zrobić programowo, możesz użyć
view.requestFocus()
.źródło
źródło
edit
link i wprowadź zmiany. Spróbuj sformatować kod, wybierając go i używając przycisku Przykład kodu{}
lub naciskającCtrl+K
.Dodanie
android:windowSoftInputMode="stateHidden"
do aktywności w manifeście powoduje ukrycie klawiatury tylko podczas uruchamiania działania lub tak, jak mówi GoogleAby ukryć klawiaturę również wtedy, gdy użytkownik naciśnie przycisk Wstecz i wróci do Twojej aktywności z innej czynności, użyj
android:windowSoftInputMode="stateAlwaysHidden"
źródło
nie próbowałem tego ani nie jestem w pobliżu mojego komputera programującego, ale podejrzewam, że programowe wysłanie fokusu do widoku rodzica lub coś w tym rodzaju może załatwić sprawę - to bardziej prawdopodobne obejście niż rozwiązanie, ale znowu nie mogę go przetestować po prostu myśl
źródło
.requestFocus();
na przycisk i nadal pojawiają się wyskakujące okienka klawiatury.