Desactivar el enfoque automático al editar el texto
Tengo un texto de edición:
<LinearLayout android:id="@+id/linearLayout7" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" android:id="@+id/editText1" android:text="3"> <requestFocus></requestFocus> </EditText> <Button android:text="Button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/button2"></Button> </LinearLayout>
Y luego algunas otras cosas debajo
- Elementos de menú de la barra de herramientas apretados después de cambiar a la biblioteca de soporte 26 y AppBarActivity a AppCompatActivity
- Imagen establecida como fondo del botón de alternar es Android estirado
- Android: ¿Cómo alinear el botón a la parte inferior y por encima del teclado cuando está arriba?
- Advertencia del adaptador de enlace personalizado de DataBinding de Android
- Problemas de procesamiento Error al cargar LayoutLib:
El problema que estoy teniendo es que justo cuando la aplicación se inicia el foco está en la entrada, no quiero que el foco de entrada en la derecha cuando se inicia la aplicación.
Traté de eliminar el
<requestFocus></requestFocus>
Cosa y no hizo nada.
- Agregar múltiples fragmentos mediante programación
- Establecimiento de subvases en un diseño mediante programación
- Error de diseño de combinación de xml de Android en inflar
- AutoCompleteTextView - cómo deshabilitar desplegable cuando tenemos una coincidencia exacta después de filtrar?
- Cómo insertar el diseño en el diseño en android?
- Disposición de Android: rellena el resto del espacio excepto
- No se puede reproducir vídeo en la vista Web
- ViewPager en CoordinatorLayout se contrae inesperadamente
Agregue los elementos android:focusable="true"
y android:focusableInTouchMode="true"
en el diseño principal de EditText como sigue;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout7" android:layout_width="fill_parent" android:layout_height="wrap_content" android:focusable="true" android:focusableInTouchMode="true">
Creo que debería ayudarte.
NO Más trabajo … simplemente añada android: windowSoftInputMode = "stateAlwaysHidden" a la etiqueta de actividad del archivo Manifest.xml.
<EditText android:id="@+id/input" android:layout_width="0dp" android:layout_height="48dp" android:focusable="false" android:focusableInTouchMode="false" /> detailInputView = (EditText) debugToolsView.findViewById(R.id.input); detailInputView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { detailInputView.setFocusable(true); detailInputView.setFocusableInTouchMode(true); return false; } });
Sólo tiene que añadir lo siguiente a su vista de diseño principal etiqueta xml:
android:focusableInTouchMode="true"
Hei Lee ,
Hay varias maneras de hacer esto, Mudassir ha dado una manera de hacer eso.
Si la idea no funciona, entonces haz algo simple:
En tu AndroidManifest>Activity
añade este código simple:
android:windowSoftInputMode="stateHidden"
Nada hay que hacer en EditText en XML, todo será trabajo y no aparecerá ningún foco.
Mira el ejemplo de código de la vida real:
<activity android:name=".MainActivity" android:windowSoftInputMode="stateHidden" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
La solución correcta y simple es setFocusable false y setFocusableInTouchMode true . Por lo que el enfoque de edición de texto sólo cuando toque el usuario que EditText
android:focusable="false" android:focusableInTouchMode="true"
<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px" /> <EditText android:text="" android:id="@+id/EditText01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/hint"> </EditText>
Ninguna otra codificación necesaria, es una solución simple y clara.