Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Problemas con EditText y teclado suave en un fragmento

Actualmente estoy creando una aplicación para Android que permite a los usuarios tomar fotos y escribir detalles de ella. La aplicación utiliza las bibliotecas de Sherlock.

He implementado un SherlockFragment para mostrar la imagen y algunos EditText y TextView para permitir a los usuarios introducir la información de la imagen. Sin embargo, cuando uno de los EditText está en el enfoque, todos los campos son empujados hacia arriba y el teclado virtual aparece.

  • Cómo cambiar el tamaño de una vista personalizada mediante programación?
  • Falta el icono de navegación después de cambiar de ICS ActionBar a Lollipop Toolbar
  • Android Api 23 Cambiar Navegación Ver headerLayout textview
  • Cómo abrir el cajón de navegación sin barra de acción, abrir con sólo un botón
  • TextView android: ellipsize = "marquee" no funciona como se esperaba
  • El lienzo no dibuja en Vista personalizada
  • Aquí está mi diseño:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linear" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#FFFFFF"> <ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="200dip" android:layout_above="@+id/textView" android:layout_marginTop="20dip" android:layout_marginBottom="20dip" android:contentDescription="desc" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Title:" android:textStyle="bold" android:layout_above="@+id/editTextSimple" android:layout_marginBottom="2dip" android:textSize="15sp"/> <EditText android:id="@+id/editTextSimple" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/textView1" android:layout_marginBottom="4dip"> <requestFocus /> </EditText> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Description:" android:textStyle="bold" android:layout_above="@+id/editTextSimple1" android:layout_marginBottom="2dip" android:textSize="15sp"/> <EditText android:id="@+id/editTextSimple1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/textView2" android:layout_marginBottom="12dip"> </EditText> <Button android:textColor="#FF000000" android:id="@+id/submitButton" android:text="@string/memorySubmit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="24dip" android:onClick = "submit"/> </RelativeLayout> 

    Por lo que entiendo, en una actividad, uno tiene que colocar esta <activity android:windowSoftInputMode="...." > en el Manifiesto de Android para ajustar la vista cuando se solicita el teclado <activity android:windowSoftInputMode="...." > . Sin embargo, ¿cómo establecer esto para los fragmentos?

  • "Página no encontrada" cuando un usuario hace clic en una invitación de Facebook desde mi aplicación
  • Teclado suave oculta la barra de acción
  • ¿Cómo ejecutar una aplicación Android en segundo plano?
  • Nuevo carácter de línea \ n no se muestra correctamente en textView Android
  • Android Studio No se puede ejecutar AVD
  • Proyecto de importación sin archivo .project
  • 7 Solutions collect form web for “Problemas con EditText y teclado suave en un fragmento”

    Esto funcionó para mí en un escenario donde estaba utilizando múltiples diseños y una viewstub para crear una pantalla de mensajería. Coloque esto en onCreate () Espero que esto ayude.

     getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 

    Todos los fragmentos de una Activity tienen el mismo comportamiento que su Activity principal, pero si necesita un comportamiento de teclado diferente para diferentes Fragments , puede cambiar dinámicamente esta propiedad de su código Fragment siguiente manera:

     getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.softInputMode.SOFT_INPUT_ADJUST_PAN); 

    ¡Espero que esto ayude!

    Esto se puede utilizar en la clase de fragmento para mover el texto de edición y desplazamiento hasta el final.

     getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 

    Intenta getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

    También he ocurrido este problema en mi proyecto, he desarrollado mi proyecto utilizando fragmentos y pestañas,

    Si tomamos el diseño relativo y mantener por encima y por debajo de la dependencia y en el último botón con

    Androide: layout_alignParentBottom = "true"

    La Solución es tomar el ScrollView dentro de la raíz Linear o Disposición Relativa y dentro de ScrollView tomar una vista secundaria como Lineal o Relativa y establecer toda la vista debajo de otra en RelativeLayout (si se toma Relativo en la vista secundaria) o no es necesario Para establecer la dependencia en lineal.

    Eso es todo, funcionara … 🙂

     android:windowSoftInputMode="adjustPan" 

    Todos los Fragmentos relacionados con esa actividad se comportan igual, si se desea cambiar el comportamiento del fragmento perticular que se utilice el siguiente

     getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 
      android:launchMode="singleTask" android:windowSoftInputMode="adjustPan" 

    Este cambio en el manifiesto funciona bien para mí

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.