经过很长时间的搜索如何在android中创建自定义复合组件,我在代码中得到以下内容:
public class MyCustomView extends RelativeLayout {
...
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.my_custom_view, this, true);
}
为避免双重RelativeLayout,我必须在my_custom_view.xml中使用merge:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
...
</merge>
但是我无法在merge标签中指定样式,如何使用styles.xml中定义的样式为MyCustomView设置样式?这个要求似乎很常见,但即使花了很长时间在网上,我也无法找到答案。希望一些经验丰富的Android开发人员可以帮助我。 THX〜
答案 0 :(得分:0)
通常,您应该能够在类的构造函数中设置所需的样式:
super(context,attrs,R.style.MyCustomView);
但是由于Android平台上的错误,我无法让它工作。您可以查看此错误的状态here。