Android支持库 - NavigationView

时间:2015-09-01 09:21:27

标签: android xamarin

我在Xamarin中构建Android应用程序,并尝试使用Android支持库附带的NavigationView控件。

因此,我已经调整了我的主要布局(main.axml),如下所示:

<?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"
        android:id="@+id/DrawerLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

    <!-- Renders the toolbar on the button. -->
        <include
            layout="@layout/Toolbar" />

    </LinearLayout>

    <!-- Android Navigation Drawer. -->
        <android.support.design.widget.NavigationView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:id="@+id/navigationView"
            app:headerLayout="@layout/flyout_navigation_drawer"
            app:menu="@menu/flyout_navigation_drawer"/>

</android.support.v4.widget.DrawerLayout>

如您所见,我有一个指向@layout/flyout_navigation_drawer的headerLayout和一个指向@menu/flyout_navigation_drawer的菜单。

两个文件都存在,代码可以在下面找到:

@layout/flyout_navigation_header

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:orientation="vertical">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/nav_header_bg"
        android:scaleType="centerCrop" />
    <TextView
        style="@style/TextAppearance.AppCompat.Subhead"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_margin="16dp"
        android:text="Your Name Here"
        android:textColor="@android:color/white" />
</FrameLayout>

@menu/flyout_navigation_drawer

<?xml version="1.0" encoding="UTF-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">
        <item
            android:id="@+id/navigation_item_1"
            android:checked="true"
            android:title="Item One" />
        <item
            android:id="@+id/navigation_item_2"
            android:title="Item Two" />
    </group>
</menu>

但是,我在Xamarin中构建应用程序时遇到以下错误:

Error APT0000: No resource found that matches the given name (at 'headerLayout' with value '@layout/flyout_navigation_drawer'). (APT0000)

我已将截图作为项目外观的参考:

enter image description here

1 个答案:

答案 0 :(得分:1)

这只是一个错字。您的文件名为“flyout_navigation_header”,但您有:

        app:headerLayout="@layout/flyout_navigation_drawer"