该属性未在基本xml属性上声明(Android)

该属性未在基本xml属性上声明(Android),android,xml,xamarin,Android,Xml,Xamarin,我是Android开发的新手,我发现它的布局非常混乱。我试着在视图上有一个背景图像,我试着使用这个例子 ,但看起来很糟糕(你知道位图) 所以我觉得向量可能很有趣。唯一的问题是,我甚至不能让官方的例子发挥作用。我试着把它作为背景 <?xml version="1.0" encoding="utf-8"?> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="2

我是Android开发的新手,我发现它的布局非常混乱。我试着在视图上有一个背景图像,我试着使用这个例子 ,但看起来很糟糕(你知道位图)

所以我觉得向量可能很有趣。唯一的问题是,我甚至不能让官方的例子发挥作用。我试着把它作为背景

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:height="256dp"
    android:width="256dp"
    android:viewportWidth="32"
    android:viewportHeight="32">
<path android:fillColor="#8fff" android:pathData="M20.5,9.5
                  c-1.955,0,-3.83,1.268,-4.5,3
                  c-0.67,-1.732,-2.547,-3,-4.5,-3
                  C8.957,9.5,7,11.432,7,14
                  c0,3.53,3.793,6.257,9,11.5
                  c5.207,-5.242,9,-7.97,9,-11.5
                  C25,11.432,23.043,9.5,20.5,9.5z" />
如果我查一下文件,肯定不在那里。这是否意味着我必须显式声明所有这些类型?对于普通的例子来说,这似乎有点奇怪

请注意,如果我删除警告前面的“android”,它将删除警告,但仍然会给我相同的部署错误

Android.Views.InflateException: Binary XML file line #1: Error inflating class <unknown>
Android.Views.InflateException:二进制XML文件行#1:膨胀类时出错

创建基于模板的
Xamarin.Android
应用程序

以Google/Android文档中的
vector.xml
为例,将其创建为项目中
Resources/drawable
目录下的
.xml
文件:

<?xml version="1.0" encoding="UTF-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="64dp"
     android:width="64dp"
     android:viewportHeight="600"
     android:viewportWidth="600" >
     <group
         android:name="rotationGroup"
         android:pivotX="300.0"
         android:pivotY="300.0"
         android:rotation="45.0" >
         <path
             android:name="v"
             android:fillColor="#000000"
             android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
     </group>
 </vector>
结果:

这不是谷歌的一个很好的例子,但它很有效

清理向量并将颜色设置为红色

<?xml version="1.0" encoding="UTF-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="256dp"
     android:width="256dp"
     android:viewportHeight="60"
     android:viewportWidth="60" >
     <group
         android:name="rotationGroup"
         android:pivotX="0.0"
         android:pivotY="0.0"
         android:rotation="0.0" >
        <path
            android:name="so"
            android:fillColor="#F44336"
            android:pathData="M20.5,9.5
              c-1.955,0,-3.83,1.268,-4.5,3
              c-0.67,-1.732,-2.547,-3,-4.5,-3
              C8.957,9.5,7,11.432,7,14
              c0,3.53,3.793,6.257,9,11.5
              c5.207,-5.242,9,-7.97,9,-11.5
              C25,11.432,23.043,9.5,20.5,9.5z" />
     </group>
 </vector>

结果:


我知道,那些属性(您在上面指出的)在jdk_1.7中没有定义

改用jdk_1.8。

您可以通过以下方式配置JDK的路径:

Microsoft Visual Studio 2015->工具->选项->Xamarin->Android设置->JDK位置[更改]

备注

如果您使用的是Microsoft Visual Studio 2015 Update 3或早期版本之一,我向您保证警告不会消失。。。这已经是Intellisense的问题(而不是JDK的问题)。它必须在将来的版本中修复


问题

Intellisense无法选择我们键入的属性,尽管这些属性存在于android SDK中,并且显示未声明此属性

解决方案

我昨天在Visual Studio 2015中遇到了这个问题,并开始对此进行搜索,最终我发现Visual Studio的XML schema文件夹中缺少这两个文件,因此请下载下面给出的这些文件链接


  • 只需手动下载文件并将其移动到C:\Program files(x86)\Microsoft Visual Studio 14.0\Xml\Schemas,或者只需在Visual Studio中添加这些架构即可。此错误将消失,我通过此过程解决了此问题。

    我也尝试过,问题是visual studio无法识别标记属性。我已经编辑了我的问题并上传了一个屏幕截图,这样您就可以看到我所说的内容您正在运行Visual Studio的哪个版本的
    Xamarin
    ?Visual Studio的哪个版本?哪个
    Android SDK
    versions?@SushiHangover Visual studio 2015 14.0.25123,Xamarin 4.0.3,Xamarin。Android 6.0.3.5似乎我安装的最新SDK是API 22(5.1.1)@SushiHangover我现在已经升级到最新的SDK,但遗憾的是,没有任何变化我仍然得到警告“属性未声明”,但现在项目运行。在我无法部署之前it@Banana,我很高兴能帮助你!但是警告不会消失。。。这已经是Intellisense的问题(而不是JDK的问题)。它必须在将来的版本中修复。Mine使用jdk1.8.0_101,它仍然会给我这个警告,并且在设计模式下不会正确显示。你知道为什么吗?@Minh我已经切换到原生安卓工作室。Xamarin仍然是绿色的,而且有童车。@Andrey WD这个问题是针对Xamarin for VS插件的。Xamarin Studio没有这个问题。我认为这是最好的解决方案。为我工作。刚刚安装VS 2017。我希望这事能解决。同样的问题。在vs2017中,您应该将这两个文件放在%projectDirectory%/obj\Debug\Schemas\19下。您必须添加这两个文件。在VS 2015的工具栏中,选择XML->Schemas..->添加我在VS 2017中检查了这个问题,那里没有发生错误。这个答案中的文件似乎非常过时。
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
            android:background="@drawable/vector"
            >
        <Button
            android:id="@+id/myButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello"
            android:background="@drawable/vector"
            />
    </LinearLayout>
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:height="256dp"
         android:width="256dp"
         android:viewportHeight="60"
         android:viewportWidth="60" >
         <group
             android:name="rotationGroup"
             android:pivotX="0.0"
             android:pivotY="0.0"
             android:rotation="0.0" >
            <path
                android:name="so"
                android:fillColor="#F44336"
                android:pathData="M20.5,9.5
                  c-1.955,0,-3.83,1.268,-4.5,3
                  c-0.67,-1.732,-2.547,-3,-4.5,-3
                  C8.957,9.5,7,11.432,7,14
                  c0,3.53,3.793,6.257,9,11.5
                  c5.207,-5.242,9,-7.97,9,-11.5
                  C25,11.432,23.043,9.5,20.5,9.5z" />
         </group>
     </vector>