ventana studio personalizado full emergente ejemplo dialogo custom cuadro android android-fragments dialogfragment

studio - input dialog android



Dialog Fragment con wrap_content viene en pantalla completa. ¿Cómo hacerlo como una altura de diseño y no una pantalla completa? (2)

Has dado a android:layout_alignParentBottom="true" para el diseño Relative inferior, por lo que tomará la parte inferior de la pantalla ya que la altura del diseño relativo del padre no es estática.

solución:

  1. Puede cambiar la referencia para el diseño relativo inferior a -> alinear abajo (abajo) a la vista de lista
  2. O puede establecer el diseño inferior como el pie de página para la vista de lista
  3. O utilice el diseño lineal vertical en lugar del diseño relativo padre con la altura como contenido de ajuste
  4. O proporcione la altura estática para el diseño relativo de los padres, de modo que el diseño relativo inferior obtenga la altura del diseño relativo de los padres y se alineará con el fondo de la disposición relativa parental (no olvide alinear la parte superior del diseño relativo inferior con la vista de la lista)

He creado un fragmento de diálogo personalizado y su xml de la siguiente manera:

<?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="wrap_content" android:layout_margin="5dp" android:padding="5dip" > <ListView android:id="@+id/product_list" android:background="@drawable/border_details" android:layout_width="match_parent" android:layout_height="wrap_content" /> <RelativeLayout android:id="@+id/AddtoCart" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginTop="10dp" android:background="#005959" > <Button android:id="@+id/button_addToCart" android:layout_width="250dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@drawable/gradient_button" android:layout_marginTop="2dp" android:layout_marginBottom="2dp" android:text="@string/add_to_cart" android:textColor="#000000" /> </RelativeLayout> </RelativeLayout>

Cuando llamo a este cuadro de diálogo, está tomando la pantalla completa como se indica en la captura de pantalla:

¿Cómo restrinjo el tamaño de este Diálogo a la altura de la lista y el botón?

¿Cómo elimino el exceso de espacio en blanco?


Se solucionó cambiando RelativeLayout a LinearLayout y estableciendo el weight de la lista en 1 de la siguiente manera

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:orientation="vertical" android:padding="5dip" > <ListView android:id="@+id/product_list" android:background="@drawable/border_details" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> <RelativeLayout android:id="@+id/AddtoCart" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_marginTop="10dp" android:background="#005959" > <Button android:id="@+id/button_addToCart" android:layout_width="250dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_marginBottom="2dp" android:layout_marginTop="2dp" android:background="@drawable/gradient_button" android:text="@string/add_to_cart" android:textColor="#000000" /> </RelativeLayout> </LinearLayout>