W mojej aplikacji na Androida automatycznie skupia się na pierwszej, Button
którą mam w swoim układzie, nadając jej pomarańczowy kontur. Jak mogę ustawić początkowy fokus najlepiej w XML i czy można to ustawić na zero?
86
Możesz użyć requestFocus
tagu:
<Button ...>
<requestFocus />
</Button>
Wydaje mi się jednak dziwne, że automatycznie ustawia ostrość jednego z przycisków, nie zauważyłem tego zachowania w żadnym z moich widoków.
@Someone Somewhere, próbowałem wszystkich powyższych bezskutecznie. Znaleziona przeze mnie poprawka pochodzi z http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . Zasadniczo musisz utworzyć niewidoczny układ tuż nad problematycznym przyciskiem:
<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px" > <requestFocus /> </LinearLayout>
źródło
RelativeLayout
zawierającymEditText
.Ustaw oba
:focusable
i:focusableInTouchMode
na prawdę i zadzwońrequestFocus
. To załatwia sprawę.źródło
Uważam, że to działa najlepiej dla mnie.
W AndroidManifest.xml
<activity> element
dodajandroid:windowSoftInputMode="stateHidden"
Powoduje to zawsze ukrycie klawiatury podczas rozpoczynania działania.
źródło
Po prostu dodaję ten wiersz kodu do
onCreate()
:this.getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problem rozwiązany.
źródło
Użyj poniższego kodu,
to powinno działać.
źródło
@Someone Somewhere Użyłem tego do wyraźnego skupienia:
editText.clearFocus();
i to pomaga
źródło
android:focusedByDefault="true"
źródło