Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

android studio sdk version 22 exception during rendering: action_bar

When I create a new project on android studio it is not giving any problem. However, looking at the activity_main.xml design it is shows me this:

Rendering Problems Exception raised during rendering: action_bar.

when I change sdk level 22 to 21 from the design page android studio shows nothing

How can I solve this problem? This is not important problem but I wondered how can I fix this.

like image 862
Ali Aras Avatar asked Mar 13 '15 14:03

Ali Aras


4 Answers

Yeah just had to adjust the Android level in the drop down. The design tab preview in API level 22 is broken right now. I looked that the stack trace for the error and it has something to do with needing the alpha channel. I'm sure Google will fix it Monday. :) enter image description here

like image 165
Dave Fisher Avatar answered Nov 19 '22 15:11

Dave Fisher


ActionBar is deprecated in favor of Toolbar, which was added in API 21. However, the base theme for Android Studio's templates still seems to use ActionBar-based themes.

The solution is not to downgrade your build tools version, but rather to change your app's base theme. If you downgrade your build tools, you will miss out on support for the latest features added in Android 5.1 and later.

Your base theme is listed in AndroidManifest.xml under application/android:theme.

Go to res/values/styles.xml and change the parent attribute to a different base theme that doesn't rely on the deprecated ActionBar. In the unlikely case your app is API 21+, you can use Theme.Material. Otherwise, you'll need to use Theme.AppCompat.NoActionBar or define your own base theme.

Here's a styles.xml example:

<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>

If you use this, be sure to put a Toolbar element in your XML layouts where you want the ActionBar to appear. You'll need to customize the Toolbar with child XML tags. I recommend using the <include> tag. As it says in the Toolbar documentation, Google's new design principles call for a change in visual style:

In modern Android UIs developers should lean more on a visually distinct color scheme for toolbars than on their application icon. The use of application icon plus title as a standard layout is discouraged on API 21 devices and newer.

android.support.v7.widget.Toolbar is in the support library for pre-API 21 devices.

EDIT: As the first comment points out, Google has a blog explaining how to use the new Toolbar. http://android-developers.blogspot.kr/2014/10/appcompat-v21-material-design-for-pre.html

like image 21
colintheshots Avatar answered Nov 19 '22 15:11

colintheshots


Sorry about the issue guys. The reason for the issue is that the rendering library is now trying to use more of the actual code from the appcompat library, in order to be more accurate. However, this has exposed some bugs in the Android Studio when the project is not built.

There is no need to update your gradle files or change the styles as some of the answers suggest.

The workaround is to build the project once and then refresh the rendering by clearing the cache. See the attached image for the refresh icon which clears the cache.

Refresh Button Location

like image 17
Deepanshu Avatar answered Nov 19 '22 16:11

Deepanshu


This answer worked for me:

MyActivity extends AppCompatActivity

Instead of:

MyActivity extends ActionBarActivity   // now deprecated

Go back to your preview, clear cache and refresh!

like image 4
Mark Avatar answered Nov 19 '22 15:11

Mark