studio - programacion android pdf 2018
eliminar borde, relleno de Diálogo (4)
Asegúrese de crear su Diálogo haciendo referencia a su tema personalizado:
Dialog dialog = new Dialog(this, R.style.MyDialogTheme);
Tu tema personalizado debe llenar la pantalla y deshabilitar algunos de los valores predeterminados del marco de Android :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyDialogTheme" parent="android:Theme.Dialog">
<!-- Fill the screen -->
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
<!-- No backgrounds, titles or window float -->
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">false</item>
<!-- Just to prove it''s working -->
<item name="android:background">#ff0000</item>
</style>
</resources>
Tengo una actividad que es con el tema Theme.Transparent que es:
<style name="Theme.Transparent" parent="android:Theme.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">false</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:gravity">top</item>
</style>
Estoy tratando de deshacerme del borde y el relleno alrededor de él ... quiero llenar la horizontal de la pantalla. y sin borde gris por favor ayuda :)
Establezca el ancho y alto para que coincida con el contenedor principal.
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams wmlp = dialog.getWindow()
.getAttributes();
wmlp.width = android.view.WindowManager.LayoutParams.MATCH_PARENT;
wmlp.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
Lo mismo que arriba, pero hacerlo en código en lugar de en xml funcionó para mí.
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
Lo siguiente funciona perfectamente para mí. Me permite tener un cuadro de diálogo de ancho completo (ocupa el ancho de la pantalla sin relleno) pero con un contenido de ajuste para la altura, y conserva todos mis otros estilos que hago en mi constructor:
<item name="windowMinWidthMajor">100%</item>
<item name="windowMinWidthMinor">100%</item>
<item name="android:windowBackground">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:background">#ffffff</item>
Se requiere fondo o se repite algo raro, pero simplemente ajústelo al color que desea que tenga su fondo de diálogo. WindowBackground y WindowIsFloating son necesarios para que el tamaño se ajuste correctamente.
Agregue su tema a su constructor así:
builder = new AlertDialog.Builder (_context, R.style.DialogTheme); y eres bueno para ir!