我有一个自定义视图,它也使用自己的defStyleAttr
ie
当前主题中的一个属性,其中包含对样式资源的引用,该样式资源为视图提供默认值。
在布局文件中声明此视图并单击 Android Studio 2.2.3 中的预览时,我收到以下错误消息:
缺少样式。是否为此布局选择了正确的主题?使用布局上方的主题组合框选择不同的布局,或修复主题样式引用。在当前主题中找不到样式“myCustomStyleAttr”
我的视图构造函数是:
public MyCustomLayout(Context context) {
this(context, null);
}
public MyCustomLayout(Context context, AttributeSet attrs) {
this(context, attrs, R.attr.myCustomStyleAttr);
}
public MyCustomLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(attrs, defStyleAttr);
}
我知道关于缺少样式的 SO 有很多问题。错误但是没有一个答案对我有用,它们主要与 AppCompat 样式有关,所以我想分享我的解决方案。