使用android API 22渲染问题

lio*_*lis 5 api android gradle android-studio

在使用最新更新时在Android Studio中创建新项目以及在向com.android.support:appcompat-v7:22.1.0 依赖项添加编译之后仍然存在此问题(如果我正在使用,则会解决API 21):

异常详细信息java.lang.NoSuchFieldError:在android.support.v7.internal.widget.ViewUtils.themifyContext(ViewUtils.java:124)的android.support.v7.widget.Toolbar上的View_theme.(Toolbar.java:198)在android .support.v7.widget.Toolbar.(Toolbar.java:192)at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)at java.lang.reflect.Constructor.newInstance(Constructor.java:422)at android android.view.LayoutInflater_Delegate中android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:809)的android.view.LayoutInflater.rInflate(LayoutInflater.java:782)中的.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64).在Android.view.LayoutInflater.inflate(LayoutInflater.java)中的android.view.LayoutInflater.inflate(LayoutInflater.java:504)的android.view.LayoutInflater.rInflate(LayoutInflater.java:782)中进行了rInflate(LayoutInflater_Delegate.java:64)(LayoutInflater.inflate) :414)at c.android.layoutlib.bridge.bars.BridgeActionBar.(BridgeActionBar.java:84)at c om.android.layoutlib.bridge.bars.AppCompatActionBar.(AppCompatActionBar.java:56)

当我打开最初使用eclipse创建的项目时,渲染API 22在Android Studio上运行良好.

有人可以解释一下吗?

我遇到的另一个问题是,在升级SDK时,它会添加Android M API,它就像Android 5.1.1一样调用API 22,这也会导致渲染问题.解决方案只是切换回API 22 5.1.1希望它有所帮助.

Hug*_*sse 1

更新: 执行 aBuild>Clean Project或 agradle Sync Project将解决问题。

旧答案: 根据 22.1 变更日志(来源):

Lollipop 添加了通过使用 android:theme XML 属性在视图级别覆盖主题的功能 - 对于诸如浅色活动上的深色操作栏之类的事情非常有用。现在,AppCompat允许您将 android:theme 用于工具栏(弃用之前使用的app:theme),更好的是,为 API 11+ 设备上的所有视图带来 android:theme 支持。

所以我想如果你将 app:theme 更改为 android:theme 它将起作用。