Cómo quitar el título de DialogFragment?
Estoy utilizando DialogFragment
en mi proyecto y estoy desactivando el título usando
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
Pero mi diálogo se ha vuelto torcido. Quiero dejar el cuadro de diálogo tal como está y sólo eliminar el título. ¿Como lo puedo hacer?
- Cómo hacer DialogFragment modal?
- El diálogo personalizado es demasiado pequeño
- Llamar a DialogFragment del fragmento
- OnActivityResult en el fragmento de diálogo
- Cuadro de diálogo personalizado con la casilla de verificación en el título
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#ff2d35ff"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="39dp" android:layout_marginLeft="39dp" android:layout_gravity="center_horizontal" android:background="#ff6cff23"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ItemName" android:id="@+id/itemName" android:layout_weight="1" android:background="#ffd861ff"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ItemPrice" android:id="@+id/itemPrice" android:layout_weight="1" android:background="#ff2ff8ff"/> </LinearLayout> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:id="@+id/itemImage" android:layout_gravity="center_horizontal"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="some test" android:id="@+id/textView9" android:layout_gravity="center_horizontal"/> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_horizontal" android:background="#ffffff2c"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-" android:id="@+id/itemMinus" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="1" android:id="@+id/textView11" android:layout_weight="1" android:gravity="center_horizontal"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+" android:id="@+id/itemPlus"/> </LinearLayout> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_gravity="center_horizontal" android:gravity="center_horizontal"> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/itemAdd" android:src="@drawable/positive" android:background="@android:color/transparent"/> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/itemCancel" android:src="@drawable/negative" android:background="@android:color/transparent"/> </LinearLayout>
Me di cuenta de que cuando match_parent
diálogo Título no se puede encontrar match_parent
- Cambio de color de los botones DialogFragment en Lollipop
- Nullpointerexcepiton en el cursor al seleccionar la foto de la galería en el fragmento de diálogo
- ¿Cómo subir un DialogFragment sobre otro?
- DialogFragment no se muestra después de agregar la ventana de alerta
- ¿Es posible iniciar un DialogFragment desde una preferencia en una preferenciaActivity?
- Android: Administrador de fragmentos se convierte en nulo
- Android DialogFragment onViewCreated no se llama
- Cómo leer / escribir las preferencias de un DialogFragment?
Debe reemplazar el método onCreateDialog en su clase dialogfragment.
@Override public Dialog onCreateDialog(final Bundle savedInstanceState) { RelativeLayout root = new RelativeLayout(getActivity()); root.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); final Dialog dialog = new Dialog(getActivity()); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(root); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE)); dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); return dialog; }
Normalmente anula onCreate en la DialogFragment
mi DialogFragment
y llamo a setStyle(STYLE_NO_TITLE, 0);
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(STYLE_NO_TITLE, 0); }
Aquí puede encontrar la documentación de setStyle
. La documentación de STYLE_NO_TITLE
dice:
Estilo para setStyle (int, int): no incluye un área de título.
Usted puede implementar es una forma más simple como código por debajo –
Dialog dialog = new Dialog(mContext, android.R.style.Theme_Black_NoTitleBar);
o
Dialog dialog = new Dialog(mContext, android.R.style.Theme_Black_NoTitleBar_Fullscreen);