为什么每当我创建一个新项目时,Eclipse都会自动添加appcompat v7库支持?
我正在创建一个简单的项目,它的MainActivity应该扩展Activity,但它没有。Eclipse自动添加操作栏支持。
我如何创建一个简单的项目没有appcompat库?供您参考,我已经下载了最新版本的ADT,最近更新了所有内容。我使用的是windows7 x64。
为什么每当我创建一个新项目时,Eclipse都会自动添加appcompat v7库支持?
我正在创建一个简单的项目,它的MainActivity应该扩展Activity,但它没有。Eclipse自动添加操作栏支持。
我如何创建一个简单的项目没有appcompat库?供您参考,我已经下载了最新版本的ADT,最近更新了所有内容。我使用的是windows7 x64。
当前回答
我注意到在创建ADT 22.6.2版本的新android项目时创建了“appcompat”库,即使minSDK设置为11,targetSDK设置为19
这是因为,在新的项目模板中,android正在使用一些来自支持库的属性。例如,如果一个新项目是用actionbar创建的,那么在菜单的main.xml中,你可以从支持库中找到app:showAsAction="never"。
If the app is targeted at android version 11 and above then one can change this attribute to android:showAsAction in menu's main.xml Also the default theme set could be "Theme.AppCompat.Light.DarkActionBar" as shown below (styles.xml) <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- API 14 theme customizations can go here. --> </style> In this case the parent theme in style.xml has to be changed to "android:style/Theme.Holo.Light.DarkActionBar" In addition to this if reference to Fragment,Fragments Manager from support library was made in the code of MainActivity.java, these have to appropriately changed to Fragment, FragmentManager of the SDK.
其他回答
创建一个新的Android应用程序项目,取消第二步(配置项目)中的创建活动。
我注意到在创建ADT 22.6.2版本的新android项目时创建了“appcompat”库,即使minSDK设置为11,targetSDK设置为19
这是因为,在新的项目模板中,android正在使用一些来自支持库的属性。例如,如果一个新项目是用actionbar创建的,那么在菜单的main.xml中,你可以从支持库中找到app:showAsAction="never"。
If the app is targeted at android version 11 and above then one can change this attribute to android:showAsAction in menu's main.xml Also the default theme set could be "Theme.AppCompat.Light.DarkActionBar" as shown below (styles.xml) <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- API 14 theme customizations can go here. --> </style> In this case the parent theme in style.xml has to be changed to "android:style/Theme.Holo.Light.DarkActionBar" In addition to this if reference to Fragment,Fragments Manager from support library was made in the code of MainActivity.java, these have to appropriately changed to Fragment, FragmentManager of the SDK.
正如Android的支持库概述中所述,默认情况下包含支持库被认为是一个很好的实践,因为设备的多样性很大,并且存在于不同版本的Android(以及所提供的api)之间。
这就是为什么Eclipse中包含的Android代码模板工具通过Android开发工具(ADT)默认集成它们的原因。
我注意到在示例中您的目标是API 15,但是包所需的最小SDK是API 10,为此兼容性库可以提供大量向后兼容的API。一个例子就是在运行该系统旧版本的设备上使用API 11 (Android 3.0 Honeycomb)上出现的Fragment API。
还需要注意的是,您可以在默认情况下禁用支持库的自动包含。
如果你的目标不是2。X版本,你可以设置你的最低SDK版本为4。X,然后创建项目。不会创建Appcompat V7库。
之所以包含它,是因为您的最低SDK版本设置为10。ActionBar是在API 11中引入的。Eclipse会自动添加它,这样你的应用就能在你支持的所有android版本中看起来更加一致。