Cómo desplazar mi diseño al configurar android: windowSoftInputMode = "adjustPan"?

Mi actividad tiene una barra superior y una barra inferior. El espacio entre la barra superior y la barra inferior tengo un linearlayout con varias vistas edittext dentro. Porque no quiero que mi diseño cambie de tamaño cada vez que aparece el software, así que configuro android: windowSoftInputMode = "adjustPan" para mi actividad en manifesto. Pero cuando el softkeyboard está abierto, quiero desplazarse hacia abajo para seleccionar otro edittext a la entrada, no me permiten hacer eso. Im solamente capaz de seleccionar el edittext en la parte inferior cuando cierre el softkeyboard. Eso es muy molesto e inconveniente. ¿Cómo puedo obtener tanto el modo de desplazamiento como el modo de ajuste para el trabajo con el teclado virtual juntos?

Por favor, ayúdame. Muchas gracias.

Por fin, descubro una solución para mi problema, así que quiero compartir para alguien tal vez obtener el mismo problema en el futuro. Una breve descripción de mi diseño como sigue:

<myRelativeLayout> <topbar.../> <myscrollView> <linearLayout> //all stuff controls:editview,textview,.... </linearLayout> </myscrollView> <bottombar.../> 

I crear la clase personalizada myRelativeLayout extend RelativeLayout

 public class myRelativeLayout extends RelativeLayout{ public interface OnRelativeLayoutChangeListener { void onLayoutPushUp(); void onLayoutPushDown(); } private OnRelativeLayoutChangeListener layoutChangeListener; public myRelativeLayout(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final int proposedheight = MeasureSpec.getSize(heightMeasureSpec); final int actualHeight = getHeight(); if (actualHeight > proposedheight){ // Keyboard is shown layoutChangeListener.onLayoutPushUp(); } else if(actualHeight < proposedheight){ // Keyboard is hidden layoutChangeListener.onLayoutPushDown(); } super.onMeasure(widthMeasureSpec, heightMeasureSpec); } public void setLayoutChangeListener(OnRelativeLayoutChangeListener layoutChangeListener) { this.layoutChangeListener = layoutChangeListener; } public OnRelativeLayoutChangeListener getLayoutChangeListener() { return layoutChangeListener; } 

}

Y en mi actividad, sólo establecer setLayoutChangeListener para myRelativeLayout para ocultar bottombar cuando softkeyboard mostrar y mostrar bottombar cuando softkeyboard ocultar:

 myRlayout.setLayoutChangeListener(new OnRelativeLayoutChangeListener() { @Override public void onLayoutPushUp() { // TODO Auto-generated method stub myBottombar.setVisibility(View.GONE);//in my case i need to setVisibility(View.GONE) to bottombar in order for this bar is not displayed when softkeyboard show up. } @Override public void onLayoutPushDown() { // TODO Auto-generated method stub myBottombar.setVisibility(View.VISIBLE);// redisplay myBottombar when keyboard is closed. } }); 

No olvide establecer android: windowSoftInputMode = "adjustResize" para la actividad. Espero que este útil para alguien tiene el mismo problema.

Poner los EditText en un ScrollView como este:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" > <requestFocus /> </EditText> <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/editText3" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> </ScrollView> 
  • Vista del centro debajo de otra vista
  • Alinear drawableLeft con el texto del botón
  • Android y diseños
  • Control de dos ViewPager juntos
  • Android: estirando una pila simple de cajas?
  • Android: Cómo utilizar herramientas con diseño de inclusión
  • Arrastrar y soltar vista de la imagen android
  • Cómo hacer Bottom Bar como myTubo en Android?
  • CardView dentro de RecyclerView: animación al poblar
  • Vista de lista con elementos de vista personalizados con superposiciones parciales (Android)
  • Color del texto del botón AlertDialog con la biblioteca de soporte v24.2.1
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.