元素形状没有必需的属性android:layout_height

时间:2015-07-31 17:40:38

标签: android xml

我使用形状元素作为视图的背景,像SO question一样。我使用的是Android Studio,它告诉我......

Element shape doesn't have required attribute android:layout_height

Element shape doesn't have required attribute android:layout_width

代码如下:

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

<solid android:color="@color/darkBrown"/>
<stroke android:layout_width="match_parent" android:layout_height="match_parent"/>
<corners android:radius="10dip"/>
<padding android:left="0dip" android:right="0dip" android:top="0dip" android:bottom="0dip"/>

</shape>

基本上我的问题是:如果技术上的形状不需要这些属性,为什么会出现此错误?如何告诉android停止将其标记为错误或如何避免它?

谢谢。

已解决:原因是因为它不在drawable文件夹中。

编辑:是的我知道中风部分不正确。

3 个答案:

答案 0 :(得分:20)

显示错误的原因是因为它不在drawable文件夹中。 (当我在拼写错误后重命名layout文件夹时,它会自动移至drawable

答案 1 :(得分:1)

以下是形状应如下所示的示例:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners
    android:radius="14dp"
    />
<solid
    android:color="#ADD8E6"
    />
<padding
    android:left="0dp"
    android:top="0dp"
    android:right="0dp"
    android:bottom="0dp"
    />
<size
    android:width="100dp"
    android:height="60dp"
    />
<stroke
    android:width="3dp"
    android:color="#ADD8E6"
    />

</shape>

答案 2 :(得分:0)

首先,您的可绘制XML不正确。您不能只使用自己喜欢的属性并希望它能够正常运行,例如<stroke> android:layout_widthandroid:layout_height<stroke>没有意义,并且不受支持。它也是android:width,但这与width不同,与layout_width没有任何共同之处。文档are here并包含所有支持的属性。