В моем приложении для Android он автоматически фокусируется на первом Button
из моих макетов, придавая ему оранжевый контур. Как я могу установить начальный фокус, предпочтительно в XML, и можно ли это установить на ничего?
В моем приложении для Android он автоматически фокусируется на первом Button
из моих макетов, придавая ему оранжевый контур. Как я могу установить начальный фокус, предпочтительно в XML, и можно ли это установить на ничего?
Ответы:
Вы можете использовать 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
.
Я обнаружил, что это работает лучше всего для меня.
В AndroidManifest.xml <activity> element
добавьтеandroid:windowSoftInputMode="stateHidden"
Это всегда скрывает клавиатуру при входе в действие.
Я просто добавляю эту строку кода в onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Задача решена.
@Someone Где-то я использовал это, чтобы очистить фокус:
editText.clearFocus();
и это помогает