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?
Wenn Sie Themenparameter ändern passieren, wird es einige Attribut Standarddialog, wie Hintergrund, Textfarbe, außer Kraft setzen .... –
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? –
Vielleicht ist Ihr Text weiß mit Ihrem aktuellen Aktivitäts-/Anwendungsthema, überprüfen Sie es erneut. – NamNH