“You need to use a Theme.AppCompat theme (or descendant) with the design library” error

后端 未结 2 1244
逝去的感伤
逝去的感伤 2020-11-28 15:09

I\'m getting \"You need to use a Theme.AppCompat theme (or descendant) with the design library\" error every time even if I\'m obviously using an AppCompat Theme (a descenda

2条回答
  •  执念已碎
    2020-11-28 15:16

    Create a ContextThemeWrapper to wrap the Service's Context with your custom theme, and get the LayoutInflater from that.

    ContextThemeWrapper ctx = new ContextThemeWrapper(this, R.style.TranslucentAppTheme);
    tooltipContainer = (CoordinatorLayout) LayoutInflater.from(ctx)
        .inflate(R.layout.tooltip_layout, null);
    

    The ContextThemeWrapper modifies the given Context's theme with the one you specify in the constructor. Since a Service doesn't really have a theme, it just tacks yours onto the Service's Context, then the LayoutInflater has the appropriate theme to inflate the design Views.

提交回复
热议问题