我有2个模块:
的应用
- layout.xml
- styles.xml
- attrs.xml
的芯
- CustomComponent.java
在模块核心中有一个名为CustomComponent的自定义组件,我在 app 模块中使用该组件,我想在其中设置自定义样式,如下所示
layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:customNS="http://schemas.android.com/apk/res-auto"
...
<com.example.CustomComponent
android:id="@+id/chart"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
customNS:chart_style="@style/MyCustomStyle"/>
</LinearLayout
styles.xml
<style name="MyCustomStyle">
<item name="android:textColor">#efefef</item>
<item name="android:background">#ffffff</item>
<item name="android:text">This is my text</item>
</style>
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyCustomStyle">
<attr name="chart_style" format="reference"/>
</declare-styleable>
</resources>
CustomComponent.java
public CustomComponent(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
TypedArray ta = context.obtainStyledAttributes(attrs, new int[] {R.attr.chart_style});
int[] attrss = {android.R.attr.textColor, android.R.attr.background, android.R.attr.text};
**?????**
}
我想取得以下结果:
我设定风格后
customNS:chart_style = “@风格/ MyCustomStyle”
在CustomComponent中,我想找到这种风格,解析它并获得所有需要的值。
但是我找不到工作代码。
请问如何达到这样的结果?