CoordinatorLayout元素未声明

时间:2017-12-06 00:04:57

标签: android xml android-layout xamarin android-support-library

我对编程有点新意,所以请耐心等待。我尝试按照youtube上的ResoCoder教程创建FAB菜单,但是声明了CoordinatorLayout元素存在问题。

它会抛出此警告:

  

' android.support.design.widget.CoordinatorLayout'没有宣布。

这是AXML文件。

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="Hello FAB menu!"
    android:textSize="24sp"/>

  <View
    android:id="@+id/bg_fab_menu"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#48000000"
    android:alpha="0"
    android:visibility="gone"/>

  <android.support.design.widget.FloatingActionButton
    android:id="@+id/fab_airballoon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/standard_23"
    android:visibility="gone"
    android:rotation="90"
    app:fabSize="mini"
    app:srcCompat="@drawable/ic_airballoon"/>

</android.support.design.widget.CoordinatorLayout>

这是警告的图像。

Warning

编辑:

现在正在“设计师”中展示。标签

Error on designer tab

1 个答案:

答案 0 :(得分:0)

简答:

这只是一个警告而不是错误,你可以毫无问题地编译你的项目。

长答案:

问题是Intellisense无法选择您键入的属性,尽管这些属性确实存在于android SDK中。因此,Visual Studio显示:

The 'android.support.design.widget.CoordinatorLayout' is not declared.

要解决此问题,您应该enable Intellisense in Android .axml files。但是与文档略有不同,您可以从以下链接下载android-layout-xml.xsdschemas.android.com.apk.res.android.xsd文件:

下载文件并修改android-layout-xml.xsd并添加ConstraintLayout元素。然后手动将这些文件移动到:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\XML\Schemas\1033 

或者只是在Visual Studio中添加这些模式。重启你的VS,这个警告就会消失

建议:

建议忽略警告,您可以毫无问题地编译项目。

更新:

  

否则,在编译之后我会得到如下错误:'错误:找不到与给定名称匹配的资源(在'layout_margin'中,值为'@ dimen / standard_23')。我假设是因为没有声明CoordinatorLayout。

dimen属性需要您自己创建,请确保您也复制了dimens.xml文件。您需要在dimens.xml中创建Resource\values\dimens.xml,在此文件中定义standard_23大小。然后编译可以找到standard_23大小。

dimen.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <dimen name="action_button_min_width">56dp</dimen>
  <dimen name="indeterminate_progress_size">32dp</dimen>
  <dimen name="standard_23">23dp</dimen>

</resources>