Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo hago un botón de EditView de Android "Hecho" y ocultar el teclado al hacer clic en él?

Cuando el usuario hace clic en EditView , Android abre el teclado para que el usuario pueda escribir en EditView .

El problema es, cuando el usuario ha terminado de escribir, no hay forma de ocultar el teclado. El usuario tiene que presionar el botón Atrás para ocultar el teclado.

¿Hay una manera de mostrar un botón Done en el teclado que ocultará el teclado?

  • En Android, ¿Se puede interceptar eventos clave a nivel mundial antes de que lleguen al niño?
  • Deshabilitar teclado en EditText
  • Android ScrollView no se desplaza cuando el teclado está hacia arriba
  • Android - Detectar el teclado visible?
  • WebView oculta el teclado virtual durante loadUrl (), lo que significa que un teclado no puede permanecer abierto mientras llama a javascript
  • Cambiar el idioma de KeyBoard de Android
  • Las pestañas TabHost de Android roban el enfoque al utilizar el teclado de hardware
  • Cómo hacer un teclado en pantalla curvo para Android
  • 13 Solutions collect form web for “¿Cómo hago un botón de EditView de Android "Hecho" y ocultar el teclado al hacer clic en él?”

    Utilice TextView.setImeOptions y pase actionDone. Como textView.setImeOptions(EditorInfo.IME_ACTION_DONE);

    En primer lugar, debe establecer el atributo android:imeOptions igual a actionDone para su destino EditText como se ve a continuación. Esto cambiará el botón 'RETURN' en el teclado de su EditText a un botón 'DONE'.

     <EditText android:id="@+id/edittext_done" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Enter some text" android:imeOptions="actionDone" /> 

    Incluya tanto imeOptions como singleLine :

     <EditText android:id="@+id/edittext_done" android:layout_width="fill_parent" android:layout_height="wrap_content" android:imeOptions="actionDone" android:singleLine="true" /> 

    Android: imeActionLabel = "Listo"
    Android: singleLine = "true "

    En el archivo XML funciona muy bien. Pero esto también hará que el editText siga escribiendo en una sola línea que no quiera. Por lo que la adición de seguimiento a su código se asegurará de que no va a terminar escribiendo todo en una sola línea.

    MainText.setHorizontallyScrolling (false);
    MainText.setMaxLines ("Valor máximo entero que desea proporcionar");

    Utilizar esta:

     android:singleLine="true" 

    Utilice estas dos líneas en su EditText

     android:imeActionLabel="Done" android:singleLine="true" 

    O puede lograrlo Programáticamente por esta línea.

     editText.setImeOptions(EditorInfo.IME_ACTION_DONE); 

    Si la propiedad no cambia para el widget, puede ser mejor usarlo como android:imeOptions="actionDone" en el archivo xml diseño.

    Utilizar:

     android:imeActionLabel="Done" android:singleLine="true" 

    Para el código:

     editText.setImeOptions(EditorInfo.IME_ACTION_DONE); 

    ActionDone se utiliza al hacer clic en el siguiente botón en el teclado que el teclado de tiempo es hide.Use en Editar texto o AppcompatEdit

    XML

    1.1 Si utiliza AppCompatEdittext

      <android.support.v7.widget.AppCompatEditText android:id="@+id/edittext" android:layout_width="match_parent" android:layout_height="wrap_content" android:imeOptions="actionDone"/> 

    1.2 Si utiliza Edittext

      <EditText android:id="@+id/edittext" android:layout_width="match_parent" android:layout_height="wrap_content" android:imeOptions="actionDone"/> 

    JAVA

     EditText edittext= (EditText) findViewById(R.id.edittext); edittext.setImeOptions(EditorInfo.IME_ACTION_DONE); 

    Tengo que señalar que, como mucha gente puede luchar en que sin saber el problema.

    Si desea que el kb se oculte al hacer clic en Done , y establecerá android:imeOptions="actionDone" & android:maxLines="1" sin configurar su tipo de entrada de inputType NO funcionará como el inputType predeterminado para EditText no es "text" Como mucha gente piensa.

    Por lo tanto, el ajuste de sólo inputType le dará los resultados que desee lo que sea lo que está configurando a como "text" , "number" , … etc.

    Realmente usted puede fijar el texto de encargo a ese pequeño botón azul. En el archivo xml sólo use

     android:imeActionLabel="whatever" 

    En su EditText.

    O en el uso del archivo java

     etEditText.setImeActionLabel("whatever", EditorInfo.IME_ACTION_DONE); 

    Selecciono arbitrariamente IME_ACTION_DONE como un ejemplo de lo que debería ir en el segundo parámetro para esta función. Puede encontrar una lista completa de estas acciones aquí .

    Cabe señalar que esto no hará que el texto aparezca en todos los teclados de todos los dispositivos. Algunos teclados no admiten texto en ese botón (por ejemplo, swiftkey). Y algunos dispositivos no lo admiten. Una buena regla es, si usted ve el texto ya en el botón, esto lo cambiará a lo que usted quisiera.

    Utilizar esta

      android:inputType="textAutoComplete" 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.