2015-06-12 6 views
7

ho dim sfondo di una DialogFragment utilizzando questo codice:Dialog FLAG_DIM_BEHIND non funziona su Android 5.x (Lollipop)

Window window = getDialog().getWindow(); 
    WindowManager.LayoutParams windowParams = window.getAttributes(); 
    windowParams.dimAmount = 0.75f; 
    windowParams.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND; 
    window.setAttributes(windowParams); 

Questo funziona bene su Kitkat e al di sotto, ma ha smesso di lavorare su Lollipop. Sospetto che abbia a che fare con il fatto che la mia attività stia usando lo stile Theme.AppCompat.Light.DarkActionBar, che usa il tema materiale su 5.x, e qualcosa in quel tema impedisce il funzionamento del flag DIM. Ho provato a fare scherzi con le varie bandiere dei temi, ma fino ad ora inutilmente.

risposta

4

Apparentemente questo è stato causato dall'app di Lux Dash che avevo installato, che controlla la luminosità di lo schermo. Geesh. Mi ci è voluto un po 'per capirlo! L'ho disinstallato e l'oscuramento è tornato. [Not a bug]

0

Un gruppo di ActionBarActivities è stato Depreciated sui sistemi operativi più recenti con Android. Ne ho appena creato uno e ho avuto un problema simile con Android 5.0 e penso che sia il più recente 5. 1 Quindi ho trovato una soluzione (Se questo non funziona per te prova una versione precedente di Android), Se sei in Android Studio a sinistra, fare clic sul progetto, quindi fare clic con il pulsante destro del mouse sull'app. dovrebbe apparire un menu, quindi fare clic su Impostazioni modulo ... Ci dovrebbero essere gli strumenti di costruzione scorrere verso il basso, Se quello corrente è impostato sulla nuova versione beta, impostarlo su 21.1.10 e Compilare versione sdk su 5.0 e quello ha funzionato per me .. Provalo se non pasticcio con la versione degli strumenti di costruzione un po '(LA NUOVA VERSIONE È QUALCOSA COME 23.0.0 rc1)

+0

Questa non è una soluzione affidabile in futuro. – Eduard

+0

Sono completamente d'accordo, immagino che dovremo aspettare che Android (Google) esca con una versione degli strumenti di compilazione più affidabile, ma per ora basta passare a quella più affidabile ... Io uso 21.1.10 e funziona bene per molti dei dispositivi che le persone hanno utilizzato sulla mia applicazione – smerkousdavid