我通过所有给定的构造函数传递了样式引用:
public MyCustomView(Context context)
{
super(context, null, R.style.MyStyle);
}
public MyCustomView(Context context, AttributeSet attrs)
{
super(context, attrs, R.style.MyStyle);
}
public MyCustomView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, R.style.MyStyle);
}
我在MarshMallow上尝试这个。样式未应用但在通过样式属性应用时有效。
答案 0 :(得分:0)
尝试使用 ContextThemeWrapper 的三个参数构造函数,如下所示:
MyCustomView mView = new MyCustomView(new ContextThemeWrapper(this,R.style.yourStyle),null,0);
虽然MyCustomView类的构造函数如下:
public MyCustomView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
这应该有用。