Ответ 1
Почему это?
Поскольку инженеры Google добавили этот материал к шаблонам новой активности, по крайней мере, для "BlankActivity".
Почему файл activity_main.xml больше не рекомендуется для отображения активности.
Вы, безусловно, можете использовать activity_main.xml
для всех, что хотите. Так получилось, что текущие шаблоны Google хотят, чтобы вы использовали фрагменты. Шаблоны Google - это просто шаблоны. Можно спорить - и я, яростно, что шаблон "BlankActivity" не должен делать то, что он делает. Однако, помимо этого, это всего лишь шаблон.
почему библиотека appomppat теперь включена в каждый проект?
Предположительно, они хотели, чтобы вы начали с последовательной панели действий, даже на более старых уровнях API.
Я понимаю, что это имеет какое-то отношение к панели действий, но проблема в том, что всякий раз, когда я создаю новый проект, красный восклицательный знак появляется как в файле проекта, так и в файле appcompat_v7, и это мешает мне скомпилировать/запустить приложение или даже иногда appcompat_v7 файл не создается, и единственное, что я получаю, - это поврежденный код
Я сообщил эту проблему неделю назад.
так как я могу удалить эту зависимость
Шаг # 1: Щелкните правой кнопкой мыши над именем проекта в Проводнике пакетов и выберите "Свойства". Нажмите на Android в списке категорий свойств слева и прокрутите вниз вправо:
Шаг №2: В списке проектов, связанных с библиотекой, которые вы увидите в диалоговом окне свойств, вы можете увидеть запись, похожую на "appcompat_v7_6", которую вы видите на приведенном выше снимке экрана. Ваша последняя цифра будет отличаться, и может случиться так, что у вас есть красный X вместо зеленой галочки. Независимо от того, если в списке есть запись для "appcompat_v7_NNN", нажмите на нее, затем нажмите кнопку "Удалить" справа от списка. Затем нажмите кнопку "ОК", чтобы закрыть диалоговое окно.
Шаг №3: В res/values/styles.xml
измените родительский элемент AppBaseTheme
с Theme.AppCompat.Light
на @android:style/Theme.Light
. В res/values-v11/styles.xml
измените родительский элемент AppBaseTheme
с Theme.AppCompat.Light
на @android:style/Theme.Holo.Light
. В rest/values-v14/styles.xml
измените родительский элемент AppBaseTheme
с Theme.AppCompat.Light.DarkActionBar
на @android:style/Theme.Holo.Light.DarkActionBar
. Обратите внимание, что эти значения предполагают, что при создании проекта вы выбрали стандартную "Светлую тему с темной панелью действий" - вам нужно будет внести небольшие корректировки в эти инструкции для чего-либо еще.
Шаг 4: В res/menu/main/xml
удалите xmlns:app="http://schemas.android.com/apk/res-auto"
из корневого элемента <menu>
и атрибута app:showAsAction="never"
из элемента <item>
.
Шаг № 5: В вашей деятельности (например, MainActivity
) изменить родительский класс активности на нечто, отличное от ActionBarActivity
- FragmentActivity
, было бы хорошим выбором, чтобы свести к минимуму количество других изменений вам придется немедленно сделать это. Кроме того, очистите свой импорт (например, Ctrl-Shift-O).
В этот момент, помимо очистки вашего проекта (Project > Clean из главного меню), материал appcompat
должен быть вырван из проекта, созданного с использованием шаблона "BlankActivity", и с помощью "Тип навигации" "Никто". Другие шаблоны или варианты навигации в шаблоне "BlankActivity", вероятно, потребуют больше работы.