好了,我是android开发的初学者,我刚刚创建了hello world应用程序。但它在appcompat_v7
库的styles_base.xml
文件中显示错误。
错误:检索项目的父项时出错:找不到与给定名称'android:Widget.Material.ActionButton‘匹配的资源。styles_base.xml /appcompat_v7/res/values-v21
AAPT问题
我该如何处理这个错误?另外,为什么在我不需要appcompat_v7库的时候还要使用它呢?我的意思是,如何在不使用appcompat_v7库的情况下创建hello world应用程序?
这就是给出上述错误的styles_base.xml
文件。
<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>
这是我使用的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
发布于 2014-12-02 15:08:34
转到Android SDK的安装目录,然后选择extras > android > support > v7 > appcompat。
在我的例子中: D:\Software\adt-bundle-windows-x86-20140702\sdk\extras\android\support\v7\appcompat
进入appcompat文件夹后,检查project.properties文件,然后将值从默认的19更改为21,如下所示:
target=android-21.
保存文件,然后刷新项目。
然后清理项目:在项目选项卡中,选择清理选项,然后选择您的项目并清理...
这将解决错误。如果不是,请确保您的项目也以API 21或更高版本为目标(步骤与之前相同,在升级以旧版本为目标的项目时很容易忘记)。享受编码...
发布于 2014-10-31 22:36:12
我刚刚自己解决了这些精确的错误。关键似乎是,您的appcompat库项目中的project.properties
文件应该使用为您的特定appcompat项目编写的任何最高版本的API (在您的示例中,它看起来像v21)。我找到的最简单的方法是在res文件夹中查找最高的“values-v**”文件夹(例如:values-v21
)。
为了清楚起见,除了Support Library Setup中的指令之外,您的appcompat/project.properties
文件中还应该包含:target=android-21
(我的文件中包含19 )。
还要确保你安装了与该版本匹配的'SDK Platform‘(例如,对于v21,安装Android5.0SDK Platform)。
或者,如果您根本不想使用appcompat,(我认为)您需要做的就是右键单击您的项目> Properties > Android > Library > Remove对appcompat的引用。这些错误仍然会出现在appcompat项目中,但之后应该不会影响您的项目。
发布于 2014-11-26 16:28:15
前提条件
确保您已经通过SDK-Manager下载了最新的附加软件以及Android5.0 SDK。
https://stackoverflow.com/questions/26530415
复制相似问题