servicios samsung puedo pantalla modo guia configuración con como bloqueada ajustes activar accesibilidad abrir android keyboard focus scrollview

android - samsung - El teclado OnScreen se abre automáticamente cuando comienza la actividad



modo accesibilidad android (4)

Cuando se inicia mi actividad con un diseño ScrollView y EditText s, EditText obtiene el foco y se abre el teclado OnScreen de Android.

¿Cómo puedo evitar eso?

Cuando estaba usando LinearLayout y RelativeLayout sin ScrollView , no sucede.

Lo he intentado de esta manera, y funciona, pero no es una buena manera de hacerlo:

TextView TextFocus = (TextView) findViewById(R.id.MovileLabel); TextFocus.setFocusableInTouchMode(true); TextFocus.requestFocus();

A continuación tienes un ejemplo de algunos de mis diseños con este problema, cuando se inicia esta actividad, el foco va al primer EditText , Descripción y el teclado de Android se abre automáticamente, esto es muy molesto.

<?xml version="1.0" encoding="utf-8"?> <ScrollView android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10px"> <RelativeLayout android:gravity="center_vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/UserLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="13px" android:text="@string/userlabel"/> <TextView android:id="@+id/User" android:layout_alignBaseline="@id/UserLabel" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="test"/> </RelativeLayout> <View android:layout_gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="1dip" android:background="#808080" android:layout_marginTop="5px" android:layout_marginBottom="12px"/> <RelativeLayout android:gravity="center_vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/DescriptionLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/desclabel" android:layout_marginTop="13px"/> <EditText android:id="@+id/Description" android:layout_alignBaseline="@id/DescriptionLabel" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="180px"/> </RelativeLayout> <RelativeLayout android:gravity="center_vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/EmailLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/emaillabel" android:layout_marginTop="13px"/> <EditText android:id="@+id/Email" android:layout_alignBaseline="@+id/EmailLabel" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="180px"/> </RelativeLayout> <RelativeLayout android:gravity="center_vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/MovilePhoneLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/movilephonelabel" android:layout_marginTop="13px"/> <EditText android:id="@+id/MovilePhone" android:layout_alignBaseline="@+id/MovilePhoneLabel" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="180px"/> </RelativeLayout> <View android:layout_gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="1dip" android:background="#808080" android:layout_marginTop="5px" android:layout_marginBottom="10px"/> <RelativeLayout android:gravity="center_vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/applybutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/apply" android:width="100px" android:layout_marginLeft="40dip"/> <Button android:id="@+id/cancelbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/cancel" android:width="100px" android:layout_alignBaseline="@+id/applybutton" android:layout_alignParentRight="true" android:layout_marginRight="40dip"/> </RelativeLayout> </LinearLayout> </ScrollView>


Android abre OnScreenKeyboard automáticamente si tiene un EditText enfocado cuando se inicia la actividad.

Puede evitar eso agregando siguiente en el método onCreate su actividad.

getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);


Otra forma es añadiendo LinearLayout:

android:focusable="true" android:focusableInTouchMode="true"

Déjame indicar que

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

todavía hace lo mismo, pero el cursor todavía está allí.


Puede usar la declaración a continuación también,

(EditTextName) .setInputType (0)

ocultará permanentemente el teclado predeterminado de Edittext perticular, incluso en EditText Touch o Click.


Si quieres hacerlo editando el AndroidManifest:

<activity android:name=".Dades" android:label="@string/app_name" android:windowSoftInputMode="stateHidden">

the line android:windowSoftInputMode="stateHidden" es el que impide el enfoque del teclado.