在Android Studio 3.0布局编辑器中渲染错误

Sid*_*nil 26 android android-studio

我刚开始学习Kotlin进行android开发,并开始了一个空项目并添加了一个活动.我已经在Kotlin文档中添加了所需的gradle依赖项.默认情况下,MainActivity的xml文件仅包含TextView.但是当我尝试在布局编辑器中预览xml时,它会显示"渲染错误"

Render problem

Failed to load AppCompat ActionBar with unknown error.
Run Code Online (Sandbox Code Playgroud)

我也得到了这个

The following classes could not be instantiated:
- android.support.v7.widget.AppCompatImageView (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.ActionBarContainer (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.Toolbar (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.AppCompatTextView (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.ActionBarContextView (Open Class, Show Exception, Clear Cache)
- android.support.v7.app.WindowDecorActionBar (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.ActionBarOverlayLayout (Open Class, Show Exception, Clear Cache)


Exception Details java.lang.ClassNotFoundException: android.support.v4.view.TintableBackgroundView
Run Code Online (Sandbox Code Playgroud)

我尝试过重建项目并手动刷新布局.但似乎没有任何效果.

那我该怎么办?我正在使用带有Kotlin的Android Studio 3.0 Canary 2

编辑:

我取得了一些进展.我发现我的AppCompat主题都没有工作.

小智 93

此解决方案可以帮助您.修改style.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
Run Code Online (Sandbox Code Playgroud)

至:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>
Run Code Online (Sandbox Code Playgroud)

  • 你能解释一下为什么这个有用吗? (5认同)
  • 你救了我的一天 (3认同)
  • 为什么这样做,一般来说这是件坏事? (3认同)

ore*_*reo 18

我也有这个问题,解决方法如下:修改appcompat-v7:26.0.0-beta2on build.gradle(modle:app)来appcompat-v7:26.0.0-beta1.


小智 12

Dude我也有使用Android Studio 3.0的相同问题,我通过在res的value文件夹下的样式文件中进行一些更改得到了一个解决方案.

这里是...

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我添加了"Base".在父母,使其正常工作!


小智 7

错误是:

implementation 'com.android.support:appcompat-v7:26.0.0-beta2' 
Run Code Online (Sandbox Code Playgroud)

改变:

implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
Run Code Online (Sandbox Code Playgroud)


小智 2

好吧,检查你的 gradle ,你是否在 app/build.gradle 文件中添加了 support:appcompat 依赖项?还有appcompat:设计依赖

  • 无论如何,我现在还添加了 com.android.support:support 库,并清理和重建了我的项目,并且以某种方式它起作用了。 (2认同)