Answers:
如Android的支持库概述中所述,由于设备种类繁多以及不同版本的Android(以及所提供的API)之间存在碎片,因此默认情况下将支持库包括在内是一种很好的做法。
这就是为什么默认情况下将Eclipse中包含的Android 代码模板工具Android Development Tools (ADT)
集成到其中的原因。
我注意到您API 15
以示例为目标,但包所需的最低SDK是API 10
,其兼容性库可提供大量的向后兼容API。例如,可以在运行此系统较旧版本的设备Fragment API
上使用API 11
(Android 3.0 Honeycomb)上显示的。
还应注意,默认情况下您可以禁用自动包含支持库。
创建一个新的Android Application Project
并取消选中 Create activity
第二步(配置项目)。
menu
文件夹不是在我的项目中创建的。
Eclipse自动创建了appcompat_v7。由于Kitkat Api已启动,因此它会自动添加appcompat_v7
和fragment_main.xml
。
解决这些问题的最佳方法:
首先在Project中Right click->properties->Android
。在那里您可以看到red marked appcompat
放置在中Reference
。单击并删除它。然后在中选择正确的目标名称Project Build Target
。
删除fragment_main.xml和程序兼容性文件在您创建的Eclipse。
像这样编辑和更改您的activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
在res / values / styles.xml中:
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
</style>
</resources>
在res / values-v11 / styles.xml中,您必须像这样进行更改:
<resources>
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
</style>
</resources>
在res / values-v14 / styles.xml中,您必须像这样进行更改:
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
</resources>
像下面这样更改menu / main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
最后像下面这样更改您的MainActivity.java:
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
LikeWise您必须执行此操作才能创建新项目
我是Android的新手,创建新的Android应用程序项目时总是会创建appcompat_v7项目,这让我感到非常不舒服。
这只是散步。选择“项目属性”->“ Android”,然后在“库”框中删除appcompat_v7_x并添加appcompat_v7。现在,您可以删除appcompat_v7_x。
在创建项目向导中取消选中“创建活动”不起作用,因为通过向导创建活动时,appcompat_v7_x会再次出现。我的ADT版本是v22.6.2-1085508。
如果我的英语不好我很抱歉。
对不起,我的英语,当您创建一个新的android项目时,您应该选择高级api,例如:从api 17到api 21,它将没有appcompat并且非常容易共享项目。如果使用较低的API进行操作,则只需在Android Manifest中进行编辑即可使用较高的API :),然后,您可以删除Appcompat V7。
根据http://developer.android.com/guide/topics/ui/actionbar.html
ActionBar API最初是在Android 3.0(API级别11)中添加的,但也可以在支持库中使用,以与Android 2.1(API级别7)及更高版本兼容。
简而言之,您将看到该自动生成的项目将将ActionBar添加到API 7-10的过程模块化。
有关该主题的简化说明和教程,请参见http://hmkcode.com/add-actionbar-to-android-2-3-x/。
我发现在使用ADT 22.6.2版本创建新的android项目时创建了“ appcompat”库,即使将minSDK设置为11并将targetSDK设置为19
发生这种情况是因为,在新的项目模板中,android使用的是来自支持库的某些属性。例如,如果使用actionbar创建了一个新项目,则可以在菜单的main.xml中找到app:showAsAction="never"
来自支持库的项目。
android:showAsAction
菜单的main.xml中的同样,默认主题集可以是“ Theme.AppCompat.Light.DarkActionBar”,如下所示(styles.xml)
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
在这种情况下,必须将style.xml中的父主题更改为“ android:style / Theme.Holo.Light.DarkActionBar”