【问题标题】:rendering issue with android API 22android API 22 的渲染问题
【发布时间】:2015-04-27 08:48:47
【问题描述】:

在 Android Studio 中创建新项目时使用最新更新并添加编译 com.android.support:appcompat-v7:22.1.0 依赖关系仍然有这个问题(如果我使用API 21,这个问题就解决了):

异常详细信息 java.lang.NoSuchFieldError: View_theme 在 android.support.v7.internal.widget.ViewUtils.themifyContext(ViewUtils.java:124) 在 android.support.v7.widget.Toolbar.(Toolbar.java:198 ) 在 android.support.v7.widget.Toolbar.(Toolbar.java:192) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:422) 在 android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806 ) 在 android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:782) 在 android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:809) 在 android.view .LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:782) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:504) 在 android.view.LayoutInflater.inflate( LayoutInflater.java:414) com.android.layoutlib.bridge.bars.BridgeActionBar.(BridgeActionBar.java:84) 一个t com.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 希望能帮助到你 。

【问题讨论】:

  • 我遇到了同样的问题,如果我能在你得到答案之前解决它,我会在这里发布
  • 在 2-3 次 gradle 同步后终于为我修复了
  • 再次同步后没有变化
  • 这个链接帮助我解决了这个问题:[解决问题][1](接受的答案)。 [1]:stackoverflow.com/questions/29194479/…
  • 很高兴听到这个消息。然后我会将这个问题标记为重复

标签: android api android-studio gradle


【解决方案1】:

更新: 执行Build>Clean Projectgradle Sync Project 将解决问题。

旧答案: 根据 22.1 更新日志(source):

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

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

【讨论】:

  • 我的所有引用都是 android:theme 并且仍然有同样的问题
  • @BogdanEmilMariesan 您是否尝试在 AS 中清理项目?
  • @BogdanEmilMariesan 请添加布局文件
【解决方案2】:

就我而言,解决方案很简单

  1. @style 添加到父主题
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
  1. Toolbar中删除android.support.v7.widget.

  2. app:theme 移动到android:theme

<Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

【讨论】:

  • 我有同样的问题,而且我是 android studio 的新手。请您告诉您在哪个文件中应用了上述更改?谢谢。
  • styles.xml 中的第一个,其余的在您使用 Toolbar 元素的每个布局中
猜你喜欢
  • 2015-05-14
  • 2016-07-06
  • 2015-08-21
  • 1970-01-01
  • 2013-08-14
  • 2016-03-31
相关资源
最近更新 更多