Ich habe eine Aktivität mit folgendem Layout:
%Vor% Das add_item_btn
hat ein Ereignis beim Klicken, das ein Vollbild erstellt (bearbeitet, um diese Informationen hinzuzufügen) DialogFragment
, um die Elementinformationen einzufügen und hinzuzufügen zur lokalen Datenbank. Der folgende Code zeigt, wie ich das DialogFragment
:
Das Problem ist, dass wenn ich dismiss()
des erstellten Fragments verwende, das Layout der Aktivität so gestreckt wird, dass die BottomBar
Hälfte hinter der Bildschirmleiste steht (siehe Bilder).
Ich habe versucht, die FragmentTransaction
(von android.R.id.content
zu R.id.main_content
, wenn main_content
die ID der Wurzel RelativeLayout
war) ohne Erfolg zu ändern. Ich habe auch versucht, 2 verschiedene Implementierungen der unteren Navigationsleiste Material Design zu verwenden, aber beide hatten das gleiche Verhalten.
Erstens: Sie ändern Ihre Aktivität auf Vollbild und rufen auf, um das Fragment hinzuzufügen. Nachdem Sie den Dialog geschlossen haben, müssen Sie die Aktivität wiederherstellen, so wie Sie sie als Vollbild eingestellt haben, diesmal jedoch als normalen Bildschirm. Der Raum, den Sie dort sehen, ist der Platz, der von der Systemleiste des Android verwendet wird.
Zweitens: Verwenden Sie kein relatives Layout. Verwenden Sie ein lineares Layout, um Ihre Aktivität zu strukturieren. Lernen Sie, Gewichte zu verwenden, und verwenden Sie es, wenn Sie es auch brauchen.
Drittens: Warum verwenden Sie ein Koordinator-Layout in Ihrem Dialog-Fragment? Das musst du nicht.
Viertens: Android hat eine eigene untere Leiste Ссылка Verwenden Sie sie. Sie haben sogar ein funktionierendes Beispiel und eine Vorlage, die Sie in Android Studio sehen können.
Es ist wirklich schwer zu wissen, was mit Ihrer App an den von Ihnen bereitgestellten Informationen nicht stimmt
Tags und Links android android-layout android-fragments android-dialogfragment android-view