Hintergrund verdunkeln wenn Popup eingeblendet wird. ( setDrawerShadow )

  • Hey folks, ich mach ja nun schon seit geraumer Zeit mit meinen ganzen Popup´s rum aber zu diesem Thema finde ich wirklich nichts brauchbares.


    Hier meine Popup Ansicht:
    [Blockierte Grafik: http://preview.slick.pics/FUk449nHB.png]


    wie man sieht ist die View des Popup´s einfach nur über meine HauptView gelegt, ist es denn mit PopupView oder PopupWindow überhaupt möglich den Hintergrund mit einem "Shadow" zu verdunkeln solange das Popup angezeigt wird?


    Vielleicht kennt ihr das vom Navigation Drawer, wenn ich diesen von der Seite herein ziehe dann wird meine View im Hintergrund verdunkelt.
    Hier sieht man ganz gut das der Erdball im Hintergrund auf dem rechten Bildausschnitt viel dunkler ist.
    [Blockierte Grafik: http://preview.slick.pics/FU2Glh1xG.png]


    Beim NavigationDrawer gibt es dafür extra eine Methode -> setDrawerShadow()


    Leider finde ich nichts derartiges für ein Popup, aber vielleicht wisst ihr das etwas :thumbup:

  • Keine Ahnung.
    Mittlerweile halte ich Deinen UI Ansatz aber für irgendwie fehlerhaft.


    Wenn Du die Anzeige im Hintergrund ausblenden willst, bedeutet das ja, dass sie für die Arbeiten im PopUp Window irrelevant sind.
    Warum lässt Du dann die irrelevanten Informationen weiter sichtbar stehen?


    Es hilft nicht bei der Feinabstimmung über die anderen Maschinen(teile), da deren relevanten Werte größtenteils verdeckt sind.
    Es führt bei Dir zu Problemen mit dem Layout, der Anzeige von Spinnern etc.pp.


    Warum machst Du für diese Eingaben keine eigene Activity, die die Übersicht einfach komplett überlagert?
    Keine störenden Informationen im Hintergrund, keine Probleme mit PopUpWindow auf PopUpWindow, keine verwirrten wild auf dem Hintergrund herumtippenden Nutzer.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Stimmt da hast du recht, ich könnte eine eigene View dafür machen, darf ich aber nicht. Ich muss mich an die Vorgaben halten die "von oben" kommen, und da hieß es "Dialog, Popup, etc."


    Sinn der Sache ist ja, das ich alle meine Parameter in der Tabelle vor mir sehe, denjenigen den ich ändern möchte, bearbeite ich mit Hilfe eines "longClick". Darauf erscheint mein dynamisch generiertes Popup, das mich genau diesen einen angeklickten Parameter ändern lässt. Nach der Bearbeitung verschwindet mein Popup, sendet die neuen Daten an die Maschine und holt danach wieder den kompletten Datensatz von der Machine ab.


    Wie du selbst schon erkannt hast, sollte ich die irrelevanten Daten im Hintergrund ausblenden, da mein Popup ja alle relevanten Daten anzeigt.

  • Dann könntest Du versuchen ein eigenes schwarzes leicht transparentes View über Deine Tabelle zu legen, bevor Du das PopUp anzeigst.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Hast recht mit einem kleinen Trick ist es möglich... Da mein PopupView auf einem PopupWindow liegt. Das PopupWindow bekommt einfach die Größe "MATCH_PARENT" statt "WRAP_CONTENT".


    Danach wird noch ein RelativLayout mit einem leicht schwarzen transparenten Hintergrund um das eigentliche Layout des PopupViews herum gebastelt.


    [Blockierte Grafik: http://preview.slick.pics/FU2Ltwlj6.png]


    Hier noch die Layout XML für das PopupView... Das äußerste RelativeLayout hab ich hinzugefügt, und dem LinearLayout centerInParent verpasst


    Danke an Marco, für den Denkanstoß :thumbup: :thumbup: :thumbup:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!