2016-06-16 5 views
0

Ich habe vor kurzem mit der Arbeit an einer bestehenden Android-App begonnen und festgestellt, dass eines der Modals als weißes leeres Quadrat angezeigt wird. Ich habe etwas recherchiert und jemand schlug vor, dass die Bereitstellung eines Themas es beheben sollte. Ich habe es versucht und es löst das Problem, aber ich verstehe nicht, warum das ohne es funktioniert hat und jetzt ist es nicht. Der Code, den wir das Alertdialog sieht wie folgt ausAndroid AlertDialog.Builder zeigt leer, es sei denn, ein Thema wird geliefert

  AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     builder.setItems(R.array.media_resume_options, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
        //handle selection logic here 
        //...... 
      } 
     }); 

     builder.create().show(); 

Ich kann es beheben, indem die Instanziierung Linie

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_DARK); 

Ich sehe keine Änderungen an diesem Teil des Codes verwenden zu initialisieren das könnte habe es verursacht. Könnte es von etwas anderem betroffen sein? Was ist das potenzielle Risiko, dass es andere Dialoge beeinflussen könnte?

+0

Wenn Sie Themenparameter ändern passieren, wird es einige Attribut Standarddialog, wie Hintergrund, Textfarbe, außer Kraft setzen .... –

+0

Kann dies auch auf andere Weise überschrieben werden? IE ein App-Level-Thema? Oder eine bessere Frage, warum sollte das Standardthema eine weiße Box zeigen? –

+0

Vielleicht ist Ihr Text weiß mit Ihrem aktuellen Aktivitäts-/Anwendungsthema, überprüfen Sie es erneut. – NamNH

Antwort

0

Es kann nicht leer sein, die Textfarbe und Hintergrundfarbe sind beide weiß, weshalb Sie denken, es ist leer.

Wie Standard-Textfarbe von dialogbox hier erklärt

Change dialog text color on 5.0+

+0

Dank, eine kombination von ihrer antwort und die kommentare half mir zu verstehen, was los ist. Es scheint, als ob einige andere Stile aus dem Kontext übernommen wurden. Es gab eine weiße Schriftfarbe, aber keinen Hintergrund. –

Verwandte Themen