Android El teclado suave flotará solo un diseño específico

Tengo un diseño, código abajo

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> <!--some stuff here--> <LinearLayout android:id="@+id/layout1" android:layout_alignParentBottom="true" android:layout_above="@+id/layout2" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="5" /> <ImageButton android:layout_width="50dp" android:layout_height="50dp" android:scaleType="fitStart" android:layout_marginLeft="5dp" style="@style/Base.Widget.AppCompat.Button.Borderless" android:src="@drawable/ic_menu_send"/> </LinearLayout> <LinearLayout android:id="@+id/layout2" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <!--some stuff here--> </LinearLayout> </RelativeLayout> 

En el código anterior cuando el teclado es mostrar quiero layout2 para permanecer en la bottom y layout1 para go up with keyboard . Si agrego el android:windowSoftInputMode="adjustPan|adjustResize" el diseño permanece en la parte inferior. por favor ayuda

6 Solutions collect form web for “Android El teclado suave flotará solo un diseño específico”

Como se puede decir que no es trabajo

 android:windowSoftInputMode="adjustPan|adjustResize" 

Solo cambia esto

android:windowSoftInputMode="stateHidden"

Y una cosa más en el diseño de abajo

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> <!--some stuff here--> <LinearLayout android:id="@+id/layout1" android:layout_alignParentBottom="true" android:layout_above="@+id/layout2" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="5" /> <ImageButton android:layout_width="50dp" android:layout_height="50dp" android:scaleType="fitStart" android:layout_marginLeft="5dp" style="@style/Base.Widget.AppCompat.Button.Borderless" android:src="@drawable/ic_menu_send"/> </LinearLayout> <LinearLayout android:id="@+id/layout2" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:background="@color/colorPrimary"> <!--some stuff here--> </LinearLayout> </RelativeLayout> 

Tenga en cuenta :

Cuando hayas aplicado esta propiedad android:layout_above="@+id/layout2" a layout1 de tu LinearLayout entonces elimina esta propiedad android:layout_alignParentBottom="true" no lo necesitas.

Así que ahora que se parecen a esto

  <LinearLayout android:id="@+id/layout1" android:layout_above="@+id/layout2" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> 

Nota: Estoy dando background color y specific height a LinearLayout 2 para su comprensión.

Salida:

Pantalla Normal

Introduzca aquí la descripción de la imagen

KeyBoard Pantalla abierta.

Introduzca aquí la descripción de la imagen

Improve:

Introduzca aquí la descripción de la imagen

Vea la imagen superior que hago Red Mark que la característica crea el problema de otra manera cada cosa es trabajo muy bien.

Por favor, utilice esto y dígame si encuentra alguna dificultad

  <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!--some stuff here--> <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/layout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/layout2" android:layout_alignParentBottom="true" android:orientation="horizontal"> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="5" /> <ImageButton style="@style/Base.Widget.AppCompat.Button.Borderless" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginLeft="5dp" android:scaleType="fitStart" android:src="@drawable/ic_menu_send" /> </LinearLayout> </ScrollView> <LinearLayout android:id="@+id/layout2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal"> <!--some stuff here--> </LinearLayout> </RelativeLayout> 

Quite el android:windowSoftInputMode="adjustPan|adjustResize"

A continuación, layout2 el layout2 programática cuando se abre el teclado layout2 . Cuando cierre el teclado, vuelva a hacer visible el layout2 .

Esto le dará al usuario una experiencia que usted quiere exactamente. No soy shure hay cualquier otra manera. Pero sigue buscando. buena suerte

Utilice diferentes temas para ambos diseños.

Tales como: Un tema se refiere a adjustPan para el atributo windowSoftInputMode.

Y otro tema se refiere al atributo adjustResize para windowSoftInputMode.

La forma más rápida es ocultar los diseños cuando el teclado layout2 está habilitado y mostrarlos de nuevo cuando el teclado layout2 está desactivado ( layout2 en el xml)

Eliminar esta línea también

 android:windowSoftInputMode="adjustPan|adjustResize" 

Funcionará, esto es solo una manera simple, todavía estoy buscando por ti

Poner esta línea en su archivo de manifiesto.

  android:windowSoftInputMode="stateHidden" 
  • ¿Cómo puedo crear una barra de herramientas (como una barra de acción secundaria) en Android?
  • Match_parent no funciona como se esperaba
  • Tamaño de la barra de navegación de Android en xml
  • Deshabilitar el botón de envío del teclado cuando no se ha escrito nada
  • Personalizar ActionBar en Android usando ActionbarSherlock y jeremyfeinstein slidingmenu
  • XML predeterminado para la notificación de estado
  • Error al buscar el estilo mapViewStyle
  • Alinear la vista de texto según la selección de idioma (LEFT -RIGHT)
  • Las siguientes clases no se pudieron instanciar: - com.google.android.gms.plus.PlusOneButton
  • Error: no se encontró identificador de recurso para el atributo "showAsAction" en el paquete android
  • Almacenamiento de IDs extraibles en una matriz XML
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.