早上好。我有这样的布局:
<android.support.v4.widget.DrawerLayout
<android.support.design.widget.CoordinatorLayout
...
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/main_drawer"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:itemTextColor="@color/jet"
android:fitsSystemWindows="true"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/action_menu" />
<ListView
android:id="@+id/navList"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="left|start"
android:background="@color/chalk" />
</android.support.v4.widget.DrawerLayout>
然后,在我的Activity上,我填充了ListView,如下所示:
String[] osArray = {"CERRAR SESIÓN", "ACERCA DE"};
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, osArray);
listView.setAdapter(arrayAdapter);
我的问题是我用作抽屉标题的布局与ListView重叠。我也试过给ListView一个marginTop,但是虽然它在Android Studio中很明显(显然),但在运行代码时它什么都解决不了。
以防万一,这是我用作抽屉标题的布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/header_height"
android:background="@color/accent"
android:gravity="bottom"
android:orientation="vertical"
android:padding="@dimen/header_left_padding"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<TextView
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/user_name"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textStyle="bold" />
<TextView
android:id="@+id/email"
style="@style/Widget.AppCompat.Spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/user_email"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
</LinearLayout>
任何帮助将不胜感激,谢谢。
答案 0 :(得分:0)
您可以尝试使用
Theme.Appcompat
而不是线性布局的主题叠加
答案 1 :(得分:0)
我认为你误解了NavigationView
以及DrawerLayout
的旧设计模式。在旧时代,我们必须使用listView来填充抽屉菜单,但创建NavigationView
后,我们现在将我们想要的内容放入xml文件中。所以你的布局应该是:
<android.support.v4.widget.DrawerLayout
<android.support.design.widget.CoordinatorLayout
...
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/main_drawer"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:itemTextColor="@color/jet"
android:fitsSystemWindows="true"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/action_menu" />
</android.support.v4.widget.DrawerLayout>
并且您必须通过这两个xml文件填充抽屉菜单
app:headerLayout="@layout/drawer_header"
app:menu="@menu/action_menu"
您可以使用@layout/drawer_header
设计标题菜单,使用action_menu
创建抽屉菜单的列表项。