Desplazamiento del menú desplegable sobre el teclado en autocompletetextview
Tengo un Autocompletetextview que cae abajo de la lista de las sugerencias, hasta el borde del soft-keyboard.
Luego, al desplazarse sobre la lista de sugerencias: – (en un teléfono de pan de jengibre) el menú desplegable aumenta automáticamente la altura que cubre el teclado, lo cual es bueno ya que muestra más elementos. – (en un emulador ICS) el menú desplegable no aumenta la altura sobre el teclado.
- Cómo personalizar el menú desplegable AutoCompleteTextView en Android
- ¿Puedo forzar la vista desplegable de una ruleta para permanecer visible en los cambios de orientación?
- Selección de varios valores de la lista desplegable
- Tener dos grupos de una sola selección en ActionBar no funciona, pero adjuntar un menú emergente en su lugar no funciona bien
- Uso correcto de un Spinner, siguiendo las directrices de diseño del material
¿Está relacionado con alguna propiedad del sistema? ¿Hay una manera de forzar el primer comportamiento también en ICS?
- ¿Cómo cambiar la posición de la ruleta abierta?
- Cómo crear el menú desplegable en un clic de botón
- Cómo agregar DropDown en la aplicación de Android
- Spinner dropUP en lugar de dropDOWN android
- Utilizar lista de matrices de objetos como adaptador de hiladora
- Android Dropdown (Seleccionar) CSS
- Menú desplegable o vista en diapositiva
- Configuración de valores y visualización de texto en Android Spinner
Simplemente agrega android: dropDownHeight = "100dp" a la etiqueta AutoCompleteTextView en tu archivo de diseño, funcionará.
Permítanme explicar mi pequeño truco para evitar que la "caída" muestra detrás del teclado. El truco es con la propiedad dropDownAnchor. La solución se establece el ancla con una vista situada en la parte superior de la pantalla, por lo que el menú saldrá de esa posición, y por lo tanto, no será cubierto por el teclado. Por ejemplo:
android:dropDownAnchor="@+id/topview"
Sé que es una solución fea, pero este control es demasiado limitado.
También puede usar android:dropDownAnchor="@id/
para anclar la lista desplegable a una vista.
Tienes que hacer dos cosas. Primero, ajuste el modo de entrada suave de esa actividad en el manifiesto.
android:windowSoftInputMode="stateHidden|adjustResize"
Esto asegura que las vistas se muestran de nuevo cuando se muestra el teclado. A continuación, establezca un oyente de disposición global en su oncreate en la vista de nivel superior para realizar el cálculo de altura de lista desplegable cuando cambie el diseño. Ajuste la altura de la lista desplegable para que sea la altura de todo debajo del teclado, menos algún relleno si lo desea.
v.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { autoCompleteView.setDropDownHeight(view2.getHeight()); }
Donde view2 es la vista / diseño que incluye todo debajo de la vista de autocompletar.
Sólo getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
añadir getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
A su fragmento o actividad