Necesito crear un diálogo sobre un fragmento (que ocupa toda la pantalla). El diálogo debe ser un diálogo flotante que se colocará sobre el fragmento con el fragmento oscurecido fuera del fragmento.No puedo hacer que el DialogFragment personalizado sea transparente sobre el Fragmento
Para el cuadro de diálogo personalizado, tengo un diseño lineal que tiene bordes curvos, haga lo que haga, el diálogo tiene un borde negro en todos los lados (muy pequeño). Lo he intentado todo para que sea transparente y desaparecer (por lo que todo el diálogo es sólo la disposición lineal - cuadro curva)
Para el DialogFragment, esto es lo que tengo para onCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
LinearLayout layout =(LinearLayout)inflater.inflate(R.layout.custom_dialog, null);
LinearLayout item = (LinearLayout)layout.findViewById(R.id.display_item);
populateItemData(item, inflater);
return layout;
}
custom_dialog es sólo un LinearLayout que tiene Android: backgroung ajustado en # 000000
Ésta es mi estilo para la costumbre de diálogo
<style name="CustomDialog" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:alwaysDrawnWithCache">false</item>
<item name="android:windowContentOverlay">@null</item>
</style>
probé todo tipo de combinaciones en este estilo (de lo que he visto en línea) y no puedo deshacerme de ese borde negro molesto, puedo pintarlo de blanco o de cualquier otro color si configuro ese fondo LinearLayout en cualquier otra cosa que no sea # 000000 ...
he pasado literalmente 3-4 horas en esto, espero que alguien más puede ayudar a cabo ...
es posible que también desee eliminar el medio fondo negro transparente (atenuación), verifique esta respuesta: http://stackoverflow.com/a/33800422/2115904 –
Tiene más sentido cuando se escribe como: 'getDialog(). getWindow(). setBackgroundDrawable (nuevo ColorDrawable (Color.TRANSPARENT)); ' – IcyFlame
Elimina también todos los márgenes .. El cuadro de diálogo se expande al ancho completo. – Uday