[英]Setup Xamarin.Forms - “No resource found that matches the given name…”
[英]No resource found that matches the given name (at 'headerLayout') in Xamarin.Android
我正在使用Xamarin for Android創建Android應用。 我想在我的應用程序NavigationDrawer中使用,所以我從Xamarin Components Store下載並安裝了“Android Design Library”。 然后我為此編輯了我的布局:
<?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_height="match_parent"
android:layout_width="match_parent"
android:fitsSystemWindows="true">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/articlesListView" />
<android.support.design.widget.NavigationView
android:id="@+id/navView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/navHeader"
app:menu="@menu/navMenu"/>
</android.support.v4.widget.DrawerLayout>
navHeader.axml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="192dp"
android:background="?attr/colorPrimaryDark"
android:padding="16dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:orientation="vertical"
android:gravity="bottom">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Username"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
</LinearLayout>
和menu / navMenu.xml:
<?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/nav_home"
android:title="Home" />
<item
android:id="@+id/nav_messages"
android:title="Messages" />
<item
android:id="@+id/nav_friends"
android:title="Friends" />
<item
android:id="@+id/nav_discussion"
android:title="Discussion" />
</group>
<item android:title="Sub items">
<menu>
<item
android:title="Sub item 1" />
<item
android:title="Sub item 2" />
</menu>
</item>
</menu>
不幸的是,在編譯時,我收到以下錯誤:
C:\\ Project \\ Project \\ File.axml:錯誤APT0000:找不到與給定名稱匹配的資源(在'headerLayout'處,值為'@ layout / navHeader')。 (APT0000)(AppName)C:\\ Projects \\ Project \\ File.axml(0,0):錯誤APT0000:找不到與給定名稱匹配的資源(在'menu'處,值為'@ menu / navMenu')。 (APT0000)(AppName)
有人知道我怎么解決這個問題?
先感謝您
我遇到過同樣的問題。 我只是將小寫字母放在標題布局文件的名稱中,它就可以了。
之前(失敗並顯示相同的錯誤消息):
app:headerLayout="@layout/DrawerHeader"
后:
app:headerLayout="@layout/drawerheader"
使用小寫字母命名您的布局文件和菜單。
app:headerLayout="@layout/drawerheader"
app:menu="@menu/drawermenu"
有同樣的問題。 猜猜這是一個錯誤。 導航標題視圖和菜單視圖的C#代碼添加(在您的活動的OnCreate()方法中)對我來說很好。 這是使用NavigationView方法InflateMenu和inflateHeaderView完成的 。
編輯
先刪除
app:headerLayout="@layout/navHeader"
和
app:menu="@menu/navMenu"
從您的導航抽屜布局和插入
navigationView = FindViewById<NavigationView>(Resource.Id.navView);
navigationView.InflateHeaderView(Resource.Layout.navHeader);
navigationView.InflateMenu(Resource.Menu.navMenu);
在你所討論的活動的onCreate()方法的某個地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.