In meiner Android-Anwendung fokussiert es automatisch das erste, das Button
ich in meinem Layout habe, und gibt ihm einen orangefarbenen Umriss. Wie kann ich den anfänglichen Fokus vorzugsweise in XML setzen und kann dies auf nichts gesetzt werden?
In meiner Android-Anwendung fokussiert es automatisch das erste, das Button
ich in meinem Layout habe, und gibt ihm einen orangefarbenen Umriss. Wie kann ich den anfänglichen Fokus vorzugsweise in XML setzen und kann dies auf nichts gesetzt werden?
Antworten:
Sie könnten das requestFocus
Tag verwenden:
<Button ...>
<requestFocus />
</Button>
Ich finde es seltsam, dass eine Ihrer Schaltflächen automatisch fokussiert wird. Ich habe dieses Verhalten in keiner meiner Ansichten beobachtet.
@ Jemand Irgendwo habe ich all das ohne Erfolg versucht. Das Update, das ich gefunden habe, stammt von http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . Grundsätzlich müssen Sie ein unsichtbares Layout direkt über der problematischen Schaltfläche erstellen:
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayout
enthalten, das das enthält EditText
.
Setzen Sie beide :focusable
und :focusableInTouchMode
auf true und call requestFocus
. Es macht den Trick.
Ich fand, dass dies für mich am besten funktionierte.
In AndroidManifest.xml <activity> element
hinzufügenandroid:windowSoftInputMode="stateHidden"
Dadurch wird die Tastatur bei der Eingabe der Aktivität immer ausgeblendet.
Ich füge diese Codezeile einfach hinzu in onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problem gelöst.
@Someone Irgendwo habe ich dies verwendet, um den Fokus zu löschen:
editText.clearFocus();
und es hilft