Почему Eclipse автоматически добавляет поддержку библиотеки appcompat v7
всякий раз, когда я создаю новый проект?
Я создаю простой проект, MainActivity
должен расширять Activity
, но это не так. Eclipse автоматически добавляет поддержку панели действий.
Как создать простой проект без библиотеки appcompat
? FYI, я загрузил последнюю версию ADT со всем обновленным в последнее время. Я использую Window 7 x64.
Как указано в Android Обзор поддержки библиотеки, считается хорошей практикой включать библиотеку поддержки по умолчанию из-за большого разнообразия устройств и фрагментация, существующая между различными версиями Android (и, следовательно, предоставленных API).
Именно по этой причине Android инструменты шаблонов кода, включенные в Eclipse через Android Development Tools (ADT)
, интегрируют их по умолчанию.
Я заметил, что вы нацеливаете API 15
в свой образец, но для него требуется, чтобы SDK для вашего пакета был API 10
, для которого библиотеки совместимости могут предоставить огромное количество обратных совместимых API. Примером может быть возможность использования Fragment API
, который появляется на API 11
(Android 3.0 Honeycomb) на устройстве, которое использует более старую версию этой системы.
Также следует отметить, что вы можете деактивировать автоматическое включение библиотеки поддержки по умолчанию.
Создайте новый Android Application Project
и снимите флажок Create activity
на втором шаге (Configure project).
menu
не была создана в моем проекте.
Почему мое затмение автоматически добавляет поддержку библиотеки appcompat v7 когда я создаю новый проект
Поскольку ваш целевой SDK установлен в 15, в котором панель действий включена по умолчанию, а минимальный поддерживаемый SDK установлен в 10. Панель действий вышла в 11, поэтому вам нужна библиотека поддержки, Eclipse добавляет ее для вас, Ссылка.
Вы можете настроить библиотеки проектов в пути сборки свойств проекта.
Eclipse автоматически создала appcompat_v7. Из-за того, что Kitkat Api запустил сам, он автоматически добавляет appcompat_v7
и fragment_main.xml
.
Лучшие способы решения этих проблем:
Во-первых, в проекте Right click->properties->Android
.
см. раздел red marked appcompat
, расположенный в Reference
. Щелкните это и
Удалите его. Затем отметьте нужное имя цели в Project Build Target
.
Удалите файл fragment_main.xml и Appompat, созданный в вашем 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>
Измените меню /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 вы должны сделать это для создания нового проекта
Включено, потому что ваша минимальная версия SDK установлена в 10. ActionBar
был введен в API 11. Eclipse автоматически добавляет его, чтобы ваше приложение выглядело более согласованным во всем спектре всех поддерживаемых вами версий Android.
Я новичок в Android, и проект appcompat_v7 всегда создается, когда я создаю новый проект приложений для Android, поэтому мне так неудобно.
Это просто прогулка. Выберите" Свойства проекта "- > Android, затем в поле" Библиотека" просто удалите appcompat_v7_x и добавьте appcompat_v7. Теперь вы можете удалить appcompat_v7_x.
Снимите флажок "Создать мероприятие" в "Мастер создания проекта", не работает, потому что при создании активности с помощью мастера снова появляется appcompat_v7_x. Моя версия ADT v22.6.2-1085508.
Извините, если мой английский плохой.
Если вы не нацеливаете версии 2.x, вы можете установить минимальную версию sdk 4.x и затем создать проект. Appomppat V7 lib не будет создан.
Извините за мой английский. Когда вы создаете новый проект для Android, вы должны выбрать api высокого уровня, например: от api 17 до api 21, у него не будет appcompat и очень простой для совместного использования проекта. Если вы сделали это с более низким API, вы просто измените в Android Manifest верхний API:), после чего вы можете удалить Appcompat V7.
Согласно http://developer.android.com/guide/topics/ui/actionbar.html
API ActionBar были впервые добавлены в Android 3.0 (уровень API 11), но они также доступны в Библиотеке поддержки для совместимости с Android 2.1 (API уровня 7) и выше.
Короче говоря, этот автоматически сгенерированный проект вы видите модулирует процесс добавления ActionBar в API 7-10.
См. http://hmkcode.com/add-actionbar-to-android-2-3-x/ для упрощенного объяснения и учебника по этой теме.
Я заметил создание библиотеки "appcompat" при создании нового проекта Android с версией ADT 22.6.2, даже если для параметра minSDK было установлено значение 11, а targetSDK было установлено 19
Это происходило, потому что в новом проекте шаблон android использует некоторые атрибуты из библиотеки поддержки. Например, если новый проект был создан с помощью панели действий, то в меню 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"