Android: Cómo tener dialogFragment a pantalla completa
Hola He intentado anular el tema en el cuadro de diálogo para la pantalla completa, pero la pantalla completa que quería era una superposición en la parte superior de la actividad anterior, así que cuando se abre el cuadro de diálogo, todavía podemos ver la actividad de vuelta desde el relleno entre la pantalla y el cuadro de diálogo .
Este es el estilo que he utilizado para la pantalla completa
- ¿Cómo puedo mostrar un ViewPager en modo de pantalla completa?
- Obtener la altura del teclado suave en modo de pantalla completa
- En Android, usando exoplayer, ¿cómo rellenar surfaceview con un video que no tiene la misma relación de aspecto con el dispositivo?
- drawBitmap no es de pantalla completa
- ¿Por qué mi webview de pantalla completa se cierra constantemente inmediatamente después de la apertura?
<style name="fullscreen_dialog" parent="android:Theme" > <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowIsFloating">false</item> </style>
- Comportamiento extraño al usar WebView y RelativeLayout en pantalla completa
- Cómo mostrar la barra de direcciones de nuevo después de salir de pantalla completa en Android
- Immersive como característica en JB y ICS
- Que es mejor añadir bandera o conjunto de bandera ver pantalla completa y pantalla en
- ¿Cómo hacer el diálogo de diseño de material de pantalla completa?
- Android Video no se ajusta a la anchura en el retrato de la videovista y no ocupa la pantalla completa en el paisaje
- Recomponer Disposición de actividad para reproducir vídeo en pantalla completa cuando se gira la pantalla
- Android: la barra de estado previene la pantalla completa
Podrías configurar manualmente los parámetros de diseño en código como tal. Espero eso ayude ! :). También compruebe este SO Ajuste del tamaño del cuadro de diálogo personalizado en android
Window window = myDialog.getWindow(); window.setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
Esta es la solución que descubrí para manejar su problema:
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); return dialog; } @Override public void onStart() { super.onStart(); Dialog dialog = getDialog(); if (dialog != null) { dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); } }
Debajo solución funcionó perfectamente para mí.
Crear estilo para el diálogo de fragmentos como a continuación:
<style name="dialog_theme" parent="android:Theme" > <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">false</item> </style>
Cree su clase java como se muestra a continuación:
public class FiltersDialogFragment extends android.support.v4.app.DialogFragment { static FiltersDialogFragment newInstance() { FiltersDialogFragment fragment = new FiltersDialogFragment(); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(DialogFragment.STYLE_NORMAL, R.style.dialog_theme); } @Override public void onStart() { super.onStart(); Dialog d = getDialog(); if (d!=null){ int width = ViewGroup.LayoutParams.MATCH_PARENT; int height = ViewGroup.LayoutParams.MATCH_PARENT; d.getWindow().setLayout(width, height); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.dialog_filters, container, false); return view; } }
Codificación feliz!
También puedes hacer algo como …
@Override public void onCreate(@Nullable final Bundle savedInstanceState) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { setStyle(STYLE_NO_TITLE, android.R.style.Theme_Material_Light_NoActionBar_Fullscreen); } else { setStyle(STYLE_NO_TITLE, android.R.style.Theme_DeviceDefault_Light_NoActionBar); } super.onCreate(savedInstanceState); }
getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
Hay un método para cambiar el estilo y el tema.
/* theme is optional, I am using leanback... */ setStyle(STYLE_NORMAL, R.style.AppTheme_Leanback);
Lo probé para conseguir la pantalla completa y su funcionamiento apenas fino con la disposición simple.
FWIW, tuve que configurar un estilo especial que subclasificado de @ style / Base.Theme.AppCompat.Light. De lo contrario, ninguno de los campos de la biblioteca de soporte se veía bien. Si utiliza @ style / Base.Theme.AppCompat.Light.Dialog, crea esa apariencia flotante que no quería.
He respondido a esta pregunta con explicación
En este hilo
Espero que esto ayude 🙂
- El operador || Es indefinido para el tipo de argumento (s) boolean, String
- El paquete com.google.android.maps no se puede resolver