我正在构建包含两个标准视图的自定义View
。我对每个包含的View都有一个默认样式,并且有一个自定义属性,可以让用户为每个包含的View指定一个自定义样式。我可以得到默认的与自定义样式很好,并传递正确的样式ID作为每个包含View的构造函数的第三个参数。我正在很难做的是根据android:layout_height
和android:layout_width
以适当的风格生成ViewGroup.LayoutParams
这些包含Views。如何从样式资源中自定义查看android:layout_height查看
它似乎像我需要使用ViewGroup.LayoutParams(Context, AttributeSet)
构造函数和AttributeSet docs说我应该得到一个通过AttributeSet
XmlPullParser parser = resources.getXml(myResouce);
AttributeSet attributes = Xml.asAttributeSet(parser);
...但是,抛出一个Resources$NotFoundException
与frameworks/base/libs/utils/ResourceTypes.cpp
警告那Requesting resource %p failed because it is complex
。
因此,我的问题,在降低特异性的顺序:
- 有没有办法得到一个
XmlPullParser
以“复杂”的元素的作品? - 有没有其他方法可以得到
AttributeSet
对应于<style>
元素? - 有没有其他的方法来构造一个
LayoutParameters
会注意给定风格的layout_height
和layout_width
值?