Reputation: 2395
I am trying to use toolbar (android.support.v7.widget.Toolbar) with navigation drawer. But it shows exception "Error inflating class android.support.v7.widget.Toolbar". Code is working fine if I don't use android.support.v7.widget.Toolbar
in xml. My activity is extending android.support.v7.app.ActionBarActivity
. Here is my main_activity.xml
<!--
As the main content view, the view below consumes the entire
space available using match_parent in both dimensions.
-->
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- We use a Toolbar so that our drawer can be displayed
in front of the action bar -->
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary" />
</LinearLayout>
</FrameLayout>
<!--
android:layout_gravity="start" tells DrawerLayout to treat
this as a sliding drawer on the left side for left-to-right
languages and on the right side for right-to-left languages.
If you're not building against API 17 or higher, use
android:layout_gravity="left" instead.
-->
<!--
The drawer is given a fixed width in dp and extends the full height of
the container.
-->
<fragment
android:id="@+id/navigation_drawer"
class="com.jooleh.android.merchant.NavigationDrawerFragment"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
tools:layout="@layout/fragment_navigation_drawer" />
</android.support.v4.widget.DrawerLayout>
Styles.xml
<style name="AppBaseTheme" parent="Theme.AppCompat">
<item name="colorPrimary">@color/red_primary_500</item>
<item name="colorPrimaryDark">@color/red_primary_700</item>
<item name="colorAccent">@color/green_secondary</item>
<item name="windowActionBar">false</item>
</style>
Styles-v11
<style name="AppBaseTheme" parent="Theme.AppCompat">
<!-- API 11 theme customizations can go here. -->
<item name="windowActionBar">false</item>
</style>
Styles-v14
<style name="AppBaseTheme" parent="Theme.AppCompat">
<!-- API 14 theme customizations can go here. -->
<item name="windowActionBar">false</item>
</style>
I am testing on jellybean, minSdkVersion="16" and targetSdkVersion="21".
Upvotes: 2
Views: 3025
Reputation: 39
It might be late, but helpful for someone. I struggled a lot for same problem and then I changed from
android.support.v7.widget.Toolbar
to
android.widget.Toolbar
and it worked, I dont know the reason. If anyone has any insight pls share
Upvotes: 1
Reputation: 1999
I was able to solve this problem by replacing the following:
In your Toolbar layout, replace:
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
with
android:minHeight="@dimen/abc_action_bar_default_height_material"
android:background="@color/myColor"
Upvotes: 3