В моем приложении для Android он автоматически фокусирует первую кнопку, которая у меня есть в моем макете, придавая ей оранжевый контур. Как настроить исходный фокус, желательно в XML, и может ли это быть ничто?
Установите начальный фокус в приложении для Android
Ответ 1
Вы можете использовать тег requestFocus
:
<Button ...>
<requestFocus />
</Button>
Мне кажется странным, что он автоматически фокусирует одну из ваших кнопок, я не наблюдал этого поведения ни в одном из моих представлений.
Ответ 2
@Someone Где-то я пробовал все вышеперечисленное безрезультатно. Исправление, которое я нашел, это 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>
Ответ 3
Установите для обоих :focusable
и :focusableInTouchMode
значение true и вызовите requestFocus
. Это делает трюк.
Ответ 4
Я нашел, что это сработало лучше всего для меня.
В AndroidManifest.xml <activity> element
добавить android:windowSoftInputMode="stateHidden"
Это всегда скрывает клавиатуру при вводе активности.
Ответ 5
Я просто добавляю эту строку кода в onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Проблема решена.
Ответ 6
Используйте приведенный ниже код,
TableRow _tableRow =(TableRow)findViewById(R.id.tableRowMainBody);
tableRow.requestFocus();
который должен работать.
Ответ 7
@Someone Где-то я использовал это, чтобы очистить фокус:
editText.clearFocus();
и это помогает