在 Android Studio 中使用最新更新并添加编译后创建新项目时 com.android.support:appcompat-v7:22.1.0
依赖项仍然有这个问题(如果我使用 API 21
就解决了):
Exception Details java.lang.NoSuchFieldError: View_theme at android.support.v7.internal.widget.ViewUtils.themifyContext(ViewUtils.java:124) at android.support.v7.widget.Toolbar.(Toolbar.java:198) at android.support.v7.widget.Toolbar.(Toolbar.java:192) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) at android.view.LayoutInflater.rInflate(LayoutInflater.java:782) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:809) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) at android.view.LayoutInflater.rInflate(LayoutInflater.java:782) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at com.android.layoutlib.bridge.bars.BridgeActionBar.(BridgeActionBar.java:84) at com.android.layoutlib.bridge.bars.AppCompatActionBar.(AppCompatActionBar.java:56)
当我打开最初使用 eclipse 创建的项目时,API 22
的渲染在 Android Studio 上运行良好。
有人可以解释一下吗?
我遇到的另一个问题是,在升级 SDK 时,它添加了 Android M API,它调用 API 22 就像 Android 5.1.1 一样,这也可能导致渲染问题。 解决方案只是切换回 API 22 5.1.1 希望能帮助到你 。
最佳答案
更新:
执行 Build>Clean Project
或 gradle Sync Project
将解决问题。
旧答案: 根据 22.1 变更日志(source):
Lollipop added the ability to overwrite the theme at a view by view level by using the android:theme XML attribute - incredibly useful for things such as dark action bars on light activities. Now, AppCompat allows you to use android:theme for Toolbars (deprecating the app:theme used previously) and, even better, brings android:theme support to all views on API 11+ devices.
所以我想如果您将 app:theme 更改为 android:theme 它将起作用。
关于android - android API 22 的渲染问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29891077/