Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法使用全局定义的自定义属性_Android_Attributes - Fatal编程技术网

Android 无法使用全局定义的自定义属性

Android 无法使用全局定义的自定义属性,android,attributes,Android,Attributes,因此,我定义了一个自定义属性: <resources> <attr name="filterColor" format="color"/> </resources> 这让我抓狂——如果我们不能使用全局自定义属性,为什么我们可以声明它们呢?如果没有其他内容,您的XML似乎缺少以下元素: 从 declare styleable中的名称应该是在您的案例中使用属性SomeView的视图的类名 这在中介绍。您可以同时执行这两项操作:将其用于布局中的某些自定义视图

因此,我定义了一个自定义属性:

<resources>
   <attr name="filterColor" format="color"/>
</resources>

这让我抓狂——如果我们不能使用全局自定义属性,为什么我们可以声明它们呢?

如果没有其他内容,您的XML似乎缺少以下元素:

declare styleable中的名称应该是在您的案例中使用属性SomeView的视图的类名


这在中介绍。

您可以同时执行这两项操作:将其用于布局中的某些自定义视图。xml并通过TypedArray获取其值,为什么您认为您不能这样做?@pskink因为它不起作用-尽管编辑器AndroidStudio无法识别我可以编译的属性。此外,它在通货膨胀期间崩溃。我的eclipse确实能够识别它,并且在获取其值时没有运行时错误。。。
<SomeView
    app:filterColor="@color/my_color"/>
final TypedArray a = getContext().obtainStyledAttributes(attrs, new int[]{R.attr.filterColor});
<resources>
  <declare-styleable name="ColorMixer">
    <attr name="color" format="color" />
  </declare-styleable>
</resources>