2015-06-12 11 views
7

I verdunkeln den Hintergrund eines DialogFragment mit diesem Code:Dialog FLAG_DIM_BEHIND funktioniert nicht auf 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); 

Dies funktioniert auf Kitkat fein und unten, blieb aber auf Lollipop arbeiten. Ich vermute, dass es mit der Tatsache zu tun hat, dass meine Aktivität den Stil Theme.AppCompat.Light.DarkActionBar verwendet, der das Material Theme auf 5.x verwendet, und etwas in diesem Thema verhindert, dass das DIM-Flag funktioniert. Ich habe versucht, mit den verschiedenen Themenflaggen zu spielen, aber bisher ohne Erfolg.

Antwort

4

Anscheinend wurde dies durch Lux Dash App, die ich installiert hatte, dass die Helligkeit steuert der Bildschirm. Geesh. Nahm mich eine Weile, um das herauszufinden! Ich habe es deinstalliert und das Dimmen kam zurück. [Kein Fehler]

0

Eine Reihe von ActionBarActivities wurde auf den neueren Betriebssystemen mit Android depreciated. Ich habe gerade eine erstellt und hatte ein ähnliches Problem mit Android 5.0 und ich denke, die neuere 5. 1 So fand ich eine Lösung (Wenn dies nicht funktioniert, versuchen Sie einfach eine frühere Version von Android), wenn Sie in Android Studio Links klicken Sie auf das Projekt und dann mit der rechten Maustaste auf die App. ein Menü sollte sich öffnen und dann auf Module Settings ... klicken. Dort sollte ein Build Tool runterscrollen. Wenn das aktuelle auf die neue Beta Version gesetzt ist, setze es auf 21.1.10 und die Compile SDK Version auf 5.0 und das arbeitete für mich .. Versuchen Sie es, wenn nicht mit der Build-Tools Version ein wenig zu stören (Die neue Version ist etwas wie 23.0.0 rc1)

+0

Das ist keine zuverlässige Lösung für die Zukunft. – Eduard

+0

stimme ich völlig zu, ich denke, wir müssen warten, bis Android (Google) mit einer zuverlässigeren Build-Tools-Version kommt, aber jetzt gehen Sie einfach auf die zuverlässigste ... Ich benutze 21.1.10 und es funktioniert gut für eine Menge der Geräte, die Leute auf meiner Anwendung verwendet haben – smerkousdavid