c# - Xamarin 引用未声明

标签 c# xamarin xamarin.android

我最近开始研究使用 Xamarin 进行 Android 开发,因为我已经拥有良好的 C# 经验。我遇到了很多问题,所以我想知道我是否做错了什么(我可能做错了)。

我遇到的第一个问题是 v7 支持库。在 xamarin 组件商店、nugget 和引用 dll 中安装后,我一直没有在我的 xml 中的每个 v7 元素上声明。我当然下载了与目标 sdk 版本相对应的版本。 无论如何,几个小时后我以某种方式让它工作,我什至不知道如何。

现在,在取得这个非常小的进展后,我遇到了下一个问题。 我正在尝试制作一个抽屉来显示菜单,并且我一直在遵循本指南 https://blog.xamarin.com/add-beautiful-material-design-with-the-android-support-design-library/ 我现在遇到的问题是,我正在尝试制作菜单 xml 文件,但出于某些未知原因,甚至 android:icon 也被报告为未声明。 我很难相信这是正常的,因为我已经花了好几个小时却几乎没有任何进展。所以我想知道 native Java 开发是否是更好的方法?或者实际上是否可以在 Xamarin 上制作复杂的应用程序,而不必冒一切都因错误而崩溃的风险? 我会张贴图片,但我不能,因为我没有 10 的声誉。 这是我遇到问题的代码:

<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto">

<group android:checkableBehavior="single">
<item
  android:id="@+id/nav_home"
  android:icon="@drawable/ic_dashboard"
  android:title="Home" />
<item
  android:id="@+id/nav_messages"
  android:icon="@drawable/ic_event"
  android:title="Messages" />
<item
  android:id="@+id/nav_friends"
  android:icon="@drawable/ic_headset"
  android:title="Friends" />
<item
  android:id="@+id/nav_discussion"
  android:icon="@drawable/ic_forum"
  android:title="Discussion" />
</group>
<item android:title="Sub items">
<menu>
  <item
    android:icon="@drawable/ic_dashboard"
    android:title="Sub item 1" />
  <item
    android:icon="@drawable/ic_forum"
    android:title="Sub item 2" />
</menu>
</item>

</menu>

android:checkableBehavior 和 android:icon 都被报告为“属性未声明” 任何帮助或建议将不胜感激。

最佳答案

对于attribute not declared问题,是intellisense问题。如果您已经正确安装了 Android SDK,这个问题应该不会影响您的代码的编译,因为它们是在 Android SDK 中定义的。

但是如果你想让这些attribute not declared提示消失,你可以下载以下两个文件:

  1. schemas.android.com.apk.res.android.xsd .
  2. android-layout-xml.xsd .

然后对于 VS2015,将这两个文件放在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Xml\Schemas 下。

对于 VS2017,路径类似于 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Xml\Schemas

关于c# - Xamarin 引用未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46653495/

相关文章:

ios - 在 Xamarin iOS 中拒绝位置权限时应用程序崩溃

xamarin - 我可以在 Xamarin map 控件上叠加自己的图像吗?

android - 如何设置导航堆栈的根

c# - for循环调用字符串变成 bool 值

c# - 将字符串作为 int 指针读取

c# - 使用 foreach 循环提取 List<Class> 中相同编号的前 10 个条目

Xamarin 窗体 : How to change the back button color

c# - Xamarin:找不到绑定(bind)属性

android - 在 MonoDroid 中隐藏软键盘

c# - 如何在 Visual Studio 2012 中导出类库