touched - hide keyboard on screen touch android
Teclado de Android oculta EditText (7)
Aquí está la solución simple para el problema de edición de texto de Android de ocultarse detrás de SoftKeypad . Use el código en el archivo AndroidManifest.xml del módulo del proyecto.
<activity
android:name="com.example.MainActivity"
android:label="@string/activity_main"
android:windowSoftInputMode="adjustResize|stateHidden" />
Este código funcionó para mí.
Dentro del archivo de manifiesto en la etiqueta de actividad agregue este atributo:
android:windowSoftInputMode="adjustResize|stateHidden"
Hay más valores de este tipo para este atributo ( android:windowSoftInputMode
) que vendrá como una lista de recomendaciones. Puedes consultar con ellos también.
Cuando intento escribir algo en un EditText que se encuentra en la parte inferior de la pantalla, el teclado virtual oculta editText. ¿Cómo puedo resolver este problema? abajo está mi código xml. Estoy usando esta pantalla en Fragmento.
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/linearLayoutTopDetails"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayoutTop"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:layout_marginTop="6dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_design1"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="80dp"
android:layout_weight="100"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ImageViewProfImagePostDetail"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_marginTop="2dp"
android:layout_weight="24.84"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="60"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewNamePostDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Robin"
android:textSize="17sp" />
<TextView
android:id="@+id/textViewLocationPostDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:drawableLeft="@drawable/location"
android:text="beijing, China" />
<TextView
android:id="@+id/textViewTimeAgoPostDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" 18min ago" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="15"
android:orientation="horizontal" >
<TextView
android:id="@+id/textViewReportAbusePostDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/flag"
android:paddingLeft="5dp" />
<TextView
android:id="@+id/textViewDeletePostDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="15dp"
android:background="@drawable/delete"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/textViewDescriptionPostDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:singleLine="false"
android:text="Description or caption of the post"
android:textSize="17sp" />
</LinearLayout>
<ImageView
android:id="@+id/feedPostedImagePostDetail"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:layout_marginTop="5dp"
android:scaleType="fitCenter"
android:visibility="gone" />
<LinearLayout
android:id="@+id/linearLayoutOptions"
android:layout_width="fill_parent"
android:layout_height="33dp"
android:layout_marginTop="2dp"
android:layout_weight="100"
android:background="@drawable/bar"
android:orientation="horizontal" >
<TextView
android:id="@+id/textViewShakePostDetail"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_marginLeft="15dp"
android:layout_weight="25"
android:drawableLeft="@drawable/like"
android:gravity="center"
android:singleLine="true"
android:text="Shake"
android:textSize="12sp" />
<TextView
android:id="@+id/textViewCommentPostDetail"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="41"
android:drawableLeft="@drawable/comment"
android:gravity="center"
android:paddingLeft="20dp"
android:text="Comment" />
<TextView
android:id="@+id/textViewSharePostDetail"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="33"
android:drawableLeft="@drawable/share"
android:gravity="center"
android:paddingLeft="20dp"
android:text="Spread" />
</LinearLayout>
</LinearLayout>
<ListView
android:id="@+id/listViewFeedsDetail1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayoutTopDetails"
android:layout_marginBottom="4dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:layout_marginTop="6dp" >
</ListView>
<LinearLayout
android:id="@+id/linearLayoutPostcomment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/listViewFeedsDetail1"
android:background="#FFFFFF"
android:orientation="horizontal"
android:weightSum="100" >
<EditText
android:id="@+id/editTextComment"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="80" />
<Button
android:id="@+id/buttonPostComment"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="20"
android:background="#F0F8FF"
android:text="Post" >
</Button>
</LinearLayout>
</RelativeLayout>
</ScrollView>
`
He intentado resolver este problema agregando cambios a través del código, pero sin éxito.
A continuación se muestra la imagen antes y después de hacer clic en el EditText.
Declare windowSoftInputMode = "adjustResize" en el archivo manifest.xml
<activity
android:name=".example"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="adjustResize" />
proporcionar vista de desplazamiento al archivo de diseño xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:fitsSystemWindows="true">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:isScrollContainer="false">
// add edittext here...
</ScrollView>
</RelativeLayout>
En tu manifiesto pon esto en tu actividad particular:
android:windowSoftInputMode="adjustPan"
Esto parece ser un error en Android cuando se adjustPan
modo de ajuste de adjustPan
Pruebe este EditText
personalizado con una solución para este problema
https://gist.github.com/Arjun-sna/768de4ca141798c59a8166a2e5d4a743
La solución para mí fue, simplemente, agregar esto al diseño principal: android: fitsSystemWindows = "true"
Para eso tienes que declarar en tu actividad manifiesto.
<activity
android:name=".activityname"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan|adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Use el siguiente código donde:
InputMethodManager ipmm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
ipmm.hideSoftInputFromWindow(url.getWindowToken(), 0);
donde url en mi código es:
url = (EditText) findViewById(R.id.eT_webbrowser);
o prueba esto:
InputMethodManager ipmm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
ipmm.hideSoftInputFromWindow(null, 0);
Como otra opción, intente esto: esto siempre oculta el modo de entrada suave de modo que su EditText esté visible
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);