Bra*_*uez 352 android android-theme android-actionbar android-actionbar-compat
我正在尝试实施Google几天前发布的新ActionBar支持库.在过去,我使用Google Developer's Support Library Setup页面上列出的相同方法成功实现了ActionBarSherlock,没有任何问题- 使用有关如何包含资源的指南(类似于ActionBarSherlock的工作方式).我将库项目作为库加载到我自己的项目中.
我可以告诉图书馆加载正常.当,而不是在我的MainActivity.java延伸活动,我改成了扩展ActionBarActivity(根据谷歌的说明),也不会出现错误 - 它正确导入.
我甚至尝试绕过style.xml文件并添加@style/Theme.AppCompat.Light到AndroidManifest.xml中两个直接<application>和<activity>具有android:theme="@style/ThemeAppCompat.Light"与导致同样的错误都尝试.
现在问题是我无法让它改变主题,更不用说甚至构建而不会抛出错误.下面是我收到的错误,后面是我更改为使用新主题的style.xml文件.
我有使用Android应用程序的适度经验,并且使用最新版本的支持库和使用API 18(Android 4.3)编译的SDK运行Eclipse.
构建期间收到错误
错误:检索项目的父项时出错:找不到与给定名称"@ style/Theme.AppCompat.Light"匹配的资源.styles.xml/ActBarTest/res/values line 3 Android AAPT问题
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
有什么建议?这从来都不是ActionBarSherlock的问题.我想继续使用这个新的支持库.几乎看起来.jar正在加载,但不是资源.
小智 386
你需要做下一个:
File->Import (android-sdk\extras\android\support\v7).选择"AppCompat" Project-> properties->Android. 在"添加"部分库中选择"AppCompat" 注意:如果您在菜单项中使用"android:showAsAction",则需要更改前缀android,如示例http://developer.android.com/guide/topics/ui/actionbar.html
mar*_*110 118
如果像我一样,您正在http://developer.android.com/training/basics/actionbar/setting-up.html上关注Android教程并不断收到此错误,请尝试更改AppBaseTheme所有styles.xml文件中的样式.详细地:
在文件中res/values/styles.xml更改行:
<style name="AppBaseTheme" parent="android:Theme.Light">
Run Code Online (Sandbox Code Playgroud)
至:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
Run Code Online (Sandbox Code Playgroud)在文件中res/values-v11/styles.xml更改行:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
Run Code Online (Sandbox Code Playgroud)
至:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
Run Code Online (Sandbox Code Playgroud)在文件中res/values-v14/styles.xml更改行:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
Run Code Online (Sandbox Code Playgroud)
至:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
Run Code Online (Sandbox Code Playgroud)现在应用程序运行正常.
小智 28
我将分享我对这个问题的经验.我因为这个而疯了,但我发现问题是Eclipse本身的一个错误,而不是我的代码: 在eclipse中,无法在另一个android项目中引用一个android库项目
因此,如果您的C:驱动器中有Android支持库,而您的项目位于计算机上的D:驱动器中,则Eclipse将无法正常运行,并且无法知道Android支持库的位置(绿色勾选变为红叉).要解决此问题,您需要将两个项目移动到同一个硬盘驱动器上.
Dav*_*las 26
如果您修改项目结构模块,这是Android Studio中可能发生的问题.在这种情况下,您可能需要再次添加依赖项.在文本编辑器中编辑"build.gradle"文件以包含所需的依赖项:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Run Code Online (Sandbox Code Playgroud)
这应该用lib组件更新你的'{your_project_name} .iml'文件:
<orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" />
Run Code Online (Sandbox Code Playgroud)
小智 23
我在Eclipse中使用Android支持库(APL)项目和主项目(MP)执行了以下操作:
确保APL和MP都具有相同minSdkVersion和targetSdkVersion.
添加了APL作为MP的构建依赖项:
进入MP的 "属性> Java构建路径" ,然后
选择"项目"选项卡并添加APL.
在MP的属性中,在"Android"下,在库下添加了对APL的引用.
1和2得到了做工精细的Java类的引用......但是我还是看到了在错误manifest.xml的MP尝试引用时@style/Theme.AppCompat.Light从APL.当我执行第3步时,这只会消失.
Yul*_*mok 12
1.运行Android SDK Manager并安装最新的SDK和Android支持Libarary.SDK和Android支持Libarary的版本应该是一样的!23在我的情况下.另一种变体会给你错误.

2.将您的IDEA项目的SDK版本更改为您在上一步中安装的最后一个版本.(ps.你可能不会使用Maven).

4.添加AppCompat项目.!应该是最后一个SDK呢! (ps.在此步骤的任何地方说"是")

5.打开主项目模块的设置,然后添加3个项目:
5.1. 模块依赖.选择android-support-v7-appcompat

5.2.2个.图书馆依赖.添加android-sdk\extras\android\support\v7\appcompat\libs\android-support-v4.jar和android-support-v4\android-support-v7-appcompat.jar

6. 非常重要!!!
添加前缀为@style的主题(不是另一个!).

1.运行Android SDK Manager并安装最新的SDK和Android支持Libarary.SDK和Android支持Libarary的版本应该是一样的!23在我的情况下.另一种变体会给你错误.

2.在build.gradle旁边添加
dependencies {
compile 'com.android.support:appcompat-v7:23.0.1'
}
Run Code Online (Sandbox Code Playgroud)
PS如果您是Android开发人员的新手,我强烈建议您立即转到Android Studio&Gradle - 您将获得管理Android应用程序的最简单方法.
mum*_*ush 10
适用于Android Studio 1.2.2
从parent属性值中删除"android" :
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
Run Code Online (Sandbox Code Playgroud)
你需要参考$ ANDROID_SDK/extras/android/support/v7/appcompat
对于IntelliJ IDEA或Android Studio:
将其添加到app.gradle构建文件
dependencies {
compile "com.android.support:appcompat-v7:21.0.+"
}
Run Code Online (Sandbox Code Playgroud)
-v:xx.0+用你的构建目标替换 ,如果你有19个平台那么它必须像:
dependencies {
compile "com.android.support:appcompat-v7:19.0.+"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
521532 次 |
| 最近记录: |