En mi aplicación de Android enfoca automáticamente el primero Button
que tengo en mi diseño, dándole un contorno naranja. ¿Cómo puedo establecer el enfoque inicial preferiblemente en XML y se puede establecer en nada?
En mi aplicación de Android enfoca automáticamente el primero Button
que tengo en mi diseño, dándole un contorno naranja. ¿Cómo puedo establecer el enfoque inicial preferiblemente en XML y se puede establecer en nada?
Respuestas:
Podrías usar la requestFocus
etiqueta:
<Button ...>
<requestFocus />
</Button>
Sin embargo, me parece extraño que enfoque automáticamente uno de sus botones, no he observado ese comportamiento en ninguna de mis vistas.
@Alguien en algún lugar, probé todo lo anterior sin éxito. La solución que encontré es de http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . Básicamente, necesitas crear un diseño invisible justo encima del botón problemático:
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayout
archivo que contiene EditText
.
Establezca ambos :focusable
y :focusableInTouchMode
en verdadero y llame requestFocus
. Hace el truco.
Encontré que esto funcionó mejor para mí.
En AndroidManifest.xml <activity> element
agregueandroid:windowSoftInputMode="stateHidden"
Esto siempre oculta el teclado al ingresar a la actividad.
Solo agrego esta línea de código en onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problema resuelto.
@ Alguien en algún lugar utilicé esto para despejar el enfoque:
editText.clearFocus();
y ayuda