2017-11-18 24 views
0

创建一个自定义按钮,它扩展了AppCompatButton。以下是使用的构造函数:Android:以编程方式创建自定义组件不反映应用的样式

public CustomButton(Context context) 
{ 
    this(context, null); 
} 

public CustomButton(Context context, AttributeSet attrs) 
{ 
    this(context, attrs, R.style.customStyle); 
} 

public CustomButton(final Context context, final AttributeSet attrs, final int defStyleAttr) 
{ 
    super(context, attrs, defStyleAttr); 
} 

通过XML构造CustomButton可以正常工作。但是,在Java中构建时,它不反映customStyle属性。试图调试代码。虽然它通过第二个构造函数不会占用属性。

任何线索将不胜感激。

回答

0

我能够通过以编程方式创建CustomButton时创建ContextThemeWrapper对象来解决此问题。

在活动文件:

的CustomButton的CustomButton =新的CustomButton(新ContextThemeWrapper(此,R.style.customStyle));

相关问题