ich eine DrawerLayout mit NavigationView haben, wie unteneine benutzerdefinierte Ansicht unten Header Ansicht in Navigation Inflating ansehen android
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:openDrawer="start">
<include
layout="@layout/app_bar_dynamic_screen"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start">
<include layout="@layout/navigation_drawer_content"/>
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
In NavigationView, eine Header-Ansicht dynamisch aufgeblasen gezeigt wird, wie unten gezeigt.
View headerView = getCustomHeaderView(navigationView);
if (headerView != null) {
navigationView.addHeaderView(headerView);
}
Ein anderes Layout ist in der NavigationView enthalten, die eine ExpandableListView enthält. Ich muss dieses Layout direkt unterhalb der aufgeblähten HeaderView platzieren. Ich habe dies erreicht, indem ich dynamisch die Höhe von headerView ermittelte und die selbe Eigenschaft wie "marginTop" auf das inkludierte Layout setzte. Dies schlägt jedoch fehl (beide Ansichten überlappen sich), wenn die headerView keine statische Höhe hat (if wrap_content). Wie kann ich das inkludierte Layout unter der headView in NavigationView effektiv einstellen? Bitte helfen Sie.
Mögliche Duplikat [Standardnavigationsleiste Ansicht auf ExpandableListView] (https://stackoverflow.com/questions/38765790/default-navigation-drawer-view-to-expandablelistview) – random
Danke für den Link. Das ist, was ich tat. Aber meine Anforderung war, die Höhe der Header-Ansicht des Layouts mit der Höhe wrap_content dynamisch zu erhalten. Das habe ich mit der onWindowFocusChanged-Methode erreicht –