В моем приложении для Android он автоматически фокусируется на первом Button
из моих макетов, придавая ему оранжевый контур. Как я могу установить начальный фокус, предпочтительно в XML, и можно ли это установить на ничего?
86
Вы можете использовать requestFocus
тег:
<Button ...>
<requestFocus />
</Button>
Мне кажется странным, что он автоматически фокусирует одну из ваших кнопок, я не наблюдал такого поведения ни в одном из своих представлений.
@Someone Somewhere, я пробовал все вышеперечисленное безрезультатно. Я нашел исправление с http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . По сути, вам нужно создать невидимый макет прямо над проблемной кнопкой:
<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px" > <requestFocus /> </LinearLayout>
источник
RelativeLayout
содержащийEditText
.Установите для обоих
:focusable
и:focusableInTouchMode
значение true и вызовитеrequestFocus
. Это делает свое дело.источник
Я обнаружил, что это работает лучше всего для меня.
В AndroidManifest.xml
<activity> element
добавьтеandroid:windowSoftInputMode="stateHidden"
Это всегда скрывает клавиатуру при входе в действие.
источник
Я просто добавляю эту строку кода в
onCreate()
:this.getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Задача решена.
источник
Используйте код ниже,
это должно работать.
источник
@Someone Где-то я использовал это, чтобы очистить фокус:
editText.clearFocus();
и это помогает
источник
android:focusedByDefault="true"
источник