在渲染过程中,android studio sdk version 22exception:action_bar

当我在android studio上创build一个新项目时,它不会产生任何问题。 不过,看一下activity_main.xmldevise,它显示了这一点:

渲染问题渲染期间引发的exception:action_bar。

当我从devise页面更改sdk级别22到21时android studio显示什么

我怎么解决这个问题? 这不是重要的问题,但我想知道如何解决这个问题。

是的,只需要在下拉菜单中调整Android级别。 API级别22中的devise选项卡预览现在被打破。 我查看了该错误的堆栈跟踪,它与需要alpha通道有关。 我相信Google会在星期一修复它。 🙂 在这里输入图像说明

不推荐使用ActionBar,而使用API​​ 21中添加的工具栏。但是,Android Studio模板的基本主题似乎仍然使用基于ActionBar的主题。

解决scheme不是降级您的构build工具版本,而是更改您的应用程序的基本主题。 如果您降级构build工具,则会错过支持Android 5.1及更高版本中添加的最新function。

您的基本主题列在application / android:theme下的AndroidManifest.xml中。

转到res / values / styles.xml并将父属性更改为不依赖于弃用的ActionBar的不同基本主题。 在不太可能的情况下,您的应用程序是API 21+,您可以使用Theme.Material。 否则,您将需要使用Theme.AppCompat.NoActionBar或定义您自己的基本主题。

这是一个styles.xml的例子:

 <style name="AppTheme.Base" parent="Theme.AppCompat"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:windowNoTitle">true</item> <item name="windowActionBar">false</item> </style> 

如果使用这种方式,请确保在您希望显示ActionBar的XML布局中放置一个Toolbar元素。 您需要使用子级XML标签自定义工具栏。 我build议使用<include>标签。 正如它在工具栏文档中所说,Google的新devise原则要求改变视觉风格:

在现代的Android用户界面中,开发人员应该更多地依赖工具栏视觉上不同的颜色scheme,而不是应用程序图标。 应用程序图标加标题作为标准布局的使用在API 21设备和更新版本上是不鼓励的。

android.support.v7.widget.Toolbar位于API 21之前的设备支持库中。

编辑:正如第一个评论指出的,谷歌有一个博客解释如何使用新的工具栏。 http://android-developers.blogspot.kr/2014/10/appcompat-v21-material-design-for-pre.html

对不起这个问题的人 这个问题的原因是,渲染库现在试图使用更多来自appcompat库的实际代码,以便更准确。 但是,当这个项目没有构build时,这已经暴露了Android Studio中的一些错误。

有些答案build议不需要更新您的Gradle文件或更改样式。

解决方法是一次构build项目,然后通过清除caching来刷新渲染。 查看清除caching的刷新图标的附加图像。

刷新按钮位置

这个答案为我工作:

 MyActivity extends AppCompatActivity 

代替:

 MyActivity extends ActionBarActivity // now deprecated 

回到你的预览,清除caching并刷新!

经过几天的沮丧,我终于find了答案在于我的应用程序模块build.gradle! 我已经将buildToolsVersion22更改为21.1.2以便正确解决像您这样的确切exception。 这似乎与API 22: Android 5.1有什么关系API 22: Android 5.1目前正在打嗝。 希望Google能尽快修复。

在build.gradle中更改这些行使我快速解决了这个问题:

 android { compileSdkVersion 21 buildToolsVersion "21.1.2" } 

我修改buildToolsVersion "21.1.2" ,在build.gradle (模块:应用程序)

不要使用buildToolsVersion "22"

请使用build API21来查看预览。 我在Mac上,build立22打破/不为我工作。 当我切换回build立21,我可以看到预览。

事实certificate,你不能使用buildToolsVersion "22"targetSdkVersion 22因为它无法正确渲染。 看来它只能渲染应用程序时设置为API 21或更低,因为我得到了同样的错误,只要我改回到21它开始再次工作。 只需进入build.gradle(module:app)并将API更改回最新版本的API 21。

我通过重build项目或模块来解决这个问题。

解决:

创build一个新的文件夹values-v19

在此文件夹中创build一个styles.xml

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- For actionBar n' statusbar --> <item name="colorPrimary">#COLOR/item> <item name="colorPrimaryDark">#COLOR</item> <!-- For items --> <item name="colorAccent">#COLOR</item> </style> 

是所有:)