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>