我在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)
我已将截图作为项目外观的参考:
答案 0 :(得分:1)
这只是一个错字。您的文件名为“flyout_navigation_header”,但您有:
app:headerLayout="@layout/flyout_navigation_drawer"