Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error in styles_base.xml file - android app - No resource found that matches the given name 'android:Widget.Material.ActionButton'

Ok, so im a beginner in android development and I just created the hello world app. But it's giving me errors in styles_base.xml file of appcompat_v7 library.

error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'. styles_base.xml /appcompat_v7/res/values-v21
AAPT Problem

How do i take care of this error? Also why is the appcompat_v7 library being used when I don't want it? I mean how do I create the hello world app without using the appcompat_v7 library?

This is the styles_base.xml file which is giving the above error.

<resources>  <!-- Like in themes_base.xml, the namespace "*.AppCompat.Base" is used to  define base styles for the platform version. The "*.AppCompat"  variants are for direct use or use as parent styles by the app. --> <eat-comment/>  <style name="Base.Widget.AppCompat.ActionBar.TabView"        parent="android:Widget.Material.ActionBar.TabView"> </style>  <style name="Base.Widget.AppCompat.Light.ActionBar.TabView"        parent="android:Widget.Material.Light.ActionBar.TabView"> </style>  <style name="Base.Widget.AppCompat.ActionBar.TabText"        parent="android:Widget.Material.ActionBar.TabText"> </style>  <style name="Base.Widget.AppCompat.Light.ActionBar.TabText"        parent="android:Widget.Material.Light.ActionBar.TabText"> </style>  <style name="Base.Widget.AppCompat.Light.ActionBar.TabText.Inverse"        parent="android:Widget.Material.Light.ActionBar.TabText"> </style>  <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Menu"        parent="android:TextAppearance.Material.Widget.ActionBar.Menu"> </style>  <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Title"        parent="android:TextAppearance.Material.Widget.ActionBar.Title"> </style>  <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle"        parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle"> </style>  <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"        parent="android:TextAppearance.Material.Widget.ActionBar.Title.Inverse"> </style>  <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle.Inverse"        parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle.Inverse"> </style>  <style name="Base.TextAppearance.AppCompat.Widget.ActionMode.Title"        parent="android:TextAppearance.Material.Widget.ActionMode.Title"> </style>  <style name="Base.TextAppearance.AppCompat.Widget.ActionMode.Subtitle"        parent="android:TextAppearance.Material.Widget.ActionMode.Subtitle"> </style>  <!-- Action Button Styles -->  <style name="Base.Widget.AppCompat.ActionButton"        parent="android:Widget.Material.ActionButton"> </style>  <style name="Base.Widget.AppCompat.ActionButton.CloseMode"        parent="android:Widget.Material.ActionButton.CloseMode"> </style>  <style name="Base.Widget.AppCompat.ActionButton.Overflow"        parent="android:Widget.Material.ActionButton.Overflow"> </style>  <!--     Widget.AppCompat.Toolbar style is purposely ommitted. This is because the support     Toolbar implementation is used on ALL platforms and relies on the unbundled attrs.     The supporting Toolbar styles below only use basic attrs so work fine. -->  <style name="Base.Widget.AppCompat.Toolbar.Button.Navigation"        parent="android:Widget.Material.Toolbar.Button.Navigation"> </style>  <style name="Base.TextAppearance.Widget.AppCompat.Toolbar.Title"        parent="android:TextAppearance.Material.Widget.ActionBar.Title"> </style>  <style name="Base.TextAppearance.Widget.AppCompat.Toolbar.Subtitle"        parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle"> </style>  <!-- Spinner Widgets -->  <style name="Base.Widget.AppCompat.ListView.DropDown"        parent="android:Widget.Material.ListView.DropDown"/>  <style name="Base.Widget.AppCompat.DropDownItem.Spinner"        parent="android:Widget.Material.DropDownItem.Spinner"/>  <style name="Base.Widget.AppCompat.Spinner" parent="android:Widget.Material.Spinner" />  <style name="Base.Widget.AppCompat.Spinner.DropDown.ActionBar" parent="android:Widget.Material.Spinner">     <item name="spinnerMode">dropdown</item>     <item name="disableChildrenWhenDisabled">true</item>     <item name="popupPromptView">@layout/abc_simple_dropdown_hint</item> </style>  <style name="Base.Widget.AppCompat.ListView.Menu"        parent="android:Widget.Material.ListView" />  <!-- Popup Menu -->  <style name="Base.Widget.AppCompat.ListPopupWindow" parent="android:Widget.Material.ListPopupWindow"> </style>  <style name="Base.Widget.AppCompat.PopupMenu" parent="android:Widget.Material.PopupMenu"> </style>  <style name="Base.Widget.AppCompat.Light.PopupMenu"     parent="android:Widget.Material.Light.PopupMenu"> </style>  <style name="Base.Widget.AppCompat.PopupMenu.Overflow">     <item name="android:dropDownHorizontalOffset">-4dip</item>     <item name="android:overlapAnchor">true</item> </style>  <style name="Base.Widget.AppCompat.Light.PopupMenu.Overflow">     <item name="android:dropDownHorizontalOffset">-4dip</item>     <item name="android:overlapAnchor">true</item> </style>  <style name="Base.TextAppearance.AppCompat.Widget.PopupMenu.Large"     parent="android:TextAppearance.Material.Widget.PopupMenu.Large"> </style>  <style name="Base.TextAppearance.AppCompat.Widget.PopupMenu.Small"     parent="android:TextAppearance.Material.Widget.PopupMenu.Small"> </style>  <style name="Base.TextAppearance.AppCompat.Light.Widget.PopupMenu.Large"     parent="android:TextAppearance.Material.Widget.PopupMenu.Large"> </style>  <style name="Base.TextAppearance.AppCompat.Light.Widget.PopupMenu.Small"     parent="android:TextAppearance.Material.Widget.PopupMenu.Small"> </style>  <!-- Search View result styles -->  <style name="Base.TextAppearance.AppCompat.SearchResult.Title"        parent="@android:TextAppearance.Material.SearchResult.Title"> </style>  <style name="Base.TextAppearance.AppCompat.SearchResult.Subtitle"        parent="@android:TextAppearance.Material.SearchResult.Subtitle"> </style>  <style name="Base.Widget.AppCompat.AutoCompleteTextView" parent="android:Widget.Material.AutoCompleteTextView" />  <style name="Base.Widget.AppCompat.Light.AutoCompleteTextView" parent="android:Widget.Material.AutoCompleteTextView" />  <!-- Progress Bar -->  <style name="Base.Widget.AppCompat.ProgressBar.Horizontal"        parent="android:Widget.Material.ProgressBar.Horizontal"> </style>  <style name="Base.Widget.AppCompat.ProgressBar"        parent="android:Widget.Material.ProgressBar"> </style>  <!-- TODO. Needs updating for Material --> <style name="Base.Widget.AppCompat.ActivityChooserView" parent="">     <item name="android:gravity">center</item>     <item name="android:background">@drawable/abc_ab_share_pack_holo_dark</item>     <item name="android:divider">?attr/dividerVertical</item>     <item name="android:showDividers">middle</item>     <item name="android:dividerPadding">6dip</item> </style> 


This is the code I'm using:

public class MainActivity extends Activity {     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    } } 
like image 864
divinesense Avatar asked Oct 23 '14 14:10

divinesense


2 Answers

Go to your Android SDK installed directory then extras > android > support > v7 > appcompat.

in my case : D:\Software\adt-bundle-windows-x86-20140702\sdk\extras\android\support\v7\appcompat

once you are in appcompat folder ,check for project.properties file then change the value from default 19 to 21 as :

target=android-21. 

Save the file and then refresh your project.

Then clean the project: In project tab , select clean option then select your project and clean...

This will resolve the error. If not, make sure your project also targets API 21 or higher (same steps as before, and easily forgotten when upgrading a project which targets an older version). Enjoy coding...

like image 72
Sachin G S Avatar answered Sep 22 '22 15:09

Sachin G S


I've just solved these exact errors myself. The key it seems is that your project.properties file in your appcompat library project should use whatever the highest version of the API that your particular appcompat project has been written for (in your case it looks like v21). Easiest way I've found to tell is to look for the highest 'values-v**' folder inside the res folder (eg. values-v21).

To clarify, in addition to the instructions at Support Library Setup, your appcompat/project.properties file should have in it: target=android-21 (mine came with 19 instead).

Also ensure that you have the 'SDK Platform' to match that version installed (eg for v21 install Android 5.0 SDK Platform).

See also appcompat-v7:21.0.0': No resource found that matches the given name: attr 'android:actionModeShareDrawable'

Alternatively if you don't want to use the appcompat at all, (I think) all you need to do is right click your project > Properties > Android > Library > Remove the reference to the appcompat. The errors will still show up for the appcompat project, but shouldn't affect your project after that.

like image 38
Ben Avatar answered Sep 20 '22 15:09

Ben