En este artículo, aprenderemos cómo ocultar el teclado virtual mediante programación. El teclado generalmente se oculta, pero hay ciertos casos en los que no se oculta. Entonces, para una mejor experiencia del usuario, el teclado está oculto mediante programación.
Sin usar el enfoque a continuación, la respuesta predeterminada de la aplicación se muestra a continuación:
Acercarse:
- Ahora agregue el siguiente código en el archivo activity_main.xml . El siguiente código agrega una vista de texto , un texto de edición y un botón en activity_main. Cuando se hace clic en el botón, se invoca la función setText en la clase MainActivity.
actividad_principal.xml
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
LinearLayout
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
android:orientation
=
"vertical"
android:padding
=
"16dp"
tools:context
=
".MainActivity"
>
<
TextView
android:textStyle
=
"bold"
android:textColor
=
"#219806"
android:id
=
"@+id/text_view_result"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_gravity
=
"center_horizontal"
android:text
=
"GeeksForGeeks"
android:textSize
=
"22sp"
/>
<
EditText
android:layout_marginTop
=
"20dp"
android:id
=
"@+id/edit_text_input"
android:layout_width
=
"match_parent"
android:layout_height
=
"wrap_content"
/>
<
Button
android:layout_marginTop
=
"20dp"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_gravity
=
"center_horizontal"
android:onClick
=
"setText"
android:text
=
"Set Text"
/>
</
LinearLayout
>
- Ahora agregue el siguiente código en el archivo MainActivity.java . Aquí definimos la función setText y closeKeyboard . La función setText se invoca cuando el usuario hace clic en el botón. Toma la entrada de edittext y la reemplaza en la vista de texto. Luego llama a la función closeKeyboard y borra el valor de edittext. La función closeKeyboard oculta el teclado.
MainActivity.java
package
org.geeksforgeeks.gfgHideKey
import
android.content.Context;
import
android.os.Bundle;
import
android.view.View;
import
android.view.inputmethod
.InputMethodManager;
import
android.widget.EditText;
import
android.widget.TextView;
public
class
MainActivity
extends
AppCompatActivity {
private
TextView textViewResult;
private
EditText editTextInput;
@Override
protected
void
onCreate(
Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textViewResult
= findViewById(
R.id.text_view_result);
editTextInput
= findViewById(
R.id.edit_text_input);
}
public
void
setText(View v)
{
String newText
= editTextInput
.getText()
.toString();
textViewResult.setText(newText);
closeKeyboard();
editTextInput.setText(
""
);
}
private
void
closeKeyboard()
{
// this will give us the view
// which is currently focus
// in this layout
View view =
this
.getCurrentFocus();
// if nothing is currently
// focus then this will protect
// the app from crash
if
(view !=
null
) {
// now assign the system
// service to InputMethodManager
InputMethodManager manager
= (InputMethodManager)
getSystemService(
Context.INPUT_METHOD_SERVICE);
manager
.hideSoftInputFromWindow(
view.getWindowToken(),
0
);
}
}
}
Producción:
Publicación traducida automáticamente
Artículo escrito por madhavmaheshwarimm20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA