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?
- Abrir un DialogFragment desde dentro de un CustomView
- Cómo cambiar el color de fondo alrededor de un DialogFragment?
- ¿Por qué Android O falla con "no pertenece a este FragmentManager!"
- Ejemplo simple de DialogFragment - código de ejemplo no funciona para mí
- Callback de DialogFragment en el cambio de orientación
<?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
- Cómo hacer un DatePicker con DialogFragment y FragmentManager?
- Callback de DialogFragment a Fragmento de destino utilizando la interfaz
- Recuperar y establecer datos de DialogFragment (DatePicker)
- Fragmento de diálogo paisaje, pantalla de relleno
- Hacer bottomSheetDialog pantalla completa sobre la barra de estado
- ActionBar en un DialogFragment
- DialogFrag # show () de un lanzamiento de fragmentos "IllegalStateException: no se puede realizar esta acción después onSaveInstanceState"
- Dos selectores de fechas en la misma actividad Android
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);