Ошибки в визуальном редакторе Android Studio

Рейтинг: 2Ответов: 1Опубликовано: 26.04.2015

Мои шаги:

  1. Устанавливаю студию с нуля (Ошибок нет).
  2. Создаю новый проект с API21 под Android 5.0 с боковой навигацией (Ошибок нет).
  3. Создаю еще один проект с API21 под Android 5.0 с боковой навигацией и появляется ошибка отсутствия класса, а именно

The following classes could not be found:- android.support.v4.widget.DrawerLayout

Хотя он подключен.

Переустанавливаю студию и начинаю заново. Мои шаги:

  1. Устанавливаю студию с нуля (Ошибок нет).
  2. Создаю новый проект с API21 под Android 5.0 с боковой навигацией (Ошибок нет).
  3. Создаю еще один проект с API21 под Android 5.0 с боковой навигацией и опять появляется ошибка отсутствия класса, а именно

    The following classes could not be found:- android.support.v4.widget.DrawerLayout

Хотя он подключен.

В чем смысл? Почему так происходит? Неужели студия не может создать два абсолютно одинаковых проекта без ошибки?

В общем даже не имеет значения какой тип приложения выбираешь из стандартного меню и под какую версию API android делаешь. Все равно высвечиваются ошибки классов или стилей. Сейчас ошибка отсутствия класса android.support.v7.internal.widget.ActionBarOverlayLayout сразу после создания приложения из шаблона blank activity под android 4.0.3

Заметил что для рендеринга стояла версия API 22, выставил 15 начала появляться ошибка ресурса темы Widget.Holo.Light.ActionMode

В SDK установил все возможные компоненты для API 14, 15, 16, 21 и 22.

Установил все библиотеки от Google, в том числе для Play и т.п.

Но все равно, единственное что создается без ошибок это проект для API21 из шаблона blank activity.

С остальными вариантами всегда ошибки классов или стилей описанные выше. Но даже если в некоторых случаях ошибка не отображается то получается что в рендеринге один вид приложения (цветовая схема светлая) то при отладке по USB на телефоне это же приложение темное будто тема Holo.CompactMenu стоит.

Хотя ни темы HoloLight ни Holo.CompactMenu Android Studio не дает выбрать когда создаешь стиль темы. В файле стилей можно указать тему (естественно с клавиатуры) при наборе, подставляются названия возможных тем. А в файле манифеста уже указана тема из файла стилей. т.е. кастомная тема которая наследует свойства другой темы и можно переопределять стили.

Там только:

  • Theme.AppCompact
  • Theme.Overlay
  • Base.Theme
  • Base.v7.Theme
  • Base.v21.Theme

И их разные модификации для баров меню и т.п.

Не настолько важно что бы был правильный рендеринг, но если рендеринг выдает ошибку то класс который вызвал ошибку (в частности ActionBarActivity) перечеркивается в самом файле, якобы не доступен. А при компиляции возникают ошибки обработки событий.

Читал на разных форумах что тот же класс android.support.v4.widget.DrawerLayout работает только на API 22 кто то пишет обратное. По другим темам и классам тоже самое, везде противоречия.

Вопрос:

  • Возможно ли вообще создать шаблон приложения для Android 4.0 и выше без ошибок?
  • Есть ли где то документация по всем этим классам, где было бы написано какая поддержка API есть в каждом из классов тем и др.?

Ответы

▲ 2Принят

Ошибки рендеринга визульного редактора Android Studio следует решать решительным нажатием на крестик слева вверху , который разработчики предусмотрительно там разместили . Данные сообщения никаким образом не влияют ни на что , кроме как на вид в самом визуальном редакторе и их следует просто игнорировать .
Да, визуальный редактор далек от совершенства , многое в разметке он отобразить не в силах , многое способен запутать так , что диву даешься .
Лучше всего им вообще пореже пользоваться , в основно только для оценки общего вида и подгонки уже сверстанной разметки , изменения аттрибутов и никогда для создания разметки "с нуля" - он там такого наворотит .. дольше исправлять будешь , чем вручную бы сразу написал . чаще пользуйтесь текстовым редактором разметки , чем визуальным.

По теме в визуальном редакторе - в общем то тема , которая отображается в визуальном редакторе никак не связана с темой в самом приложении , которую вы указываете в манифесте и определяете стилями . Тема визуального редактора указывается в самом редакторе , вверху . Это сделано для того , чтобы вы могли быстро оценить , как будет выглядеть экран в разных темах , не меняя ничего в коде .

По собственно вопросам :

  1. Безусловно можно , не знаю уж что вы там такое делаете , но до вас , кажется , никто не сталкивался с такими трудностями , как невозможность написать приложение под андроид 4 , не знаю даже , как вам и помочь ..
  2. Конечно есть - http://developer.android.com/reference/packages.html , тут есть все , что может понадобиться андроид-разработчику , в частности у каждого класса и метода написано с какого API он появился , например Added in API level 11

Хотя ни темы HoloLight ни Holo.CompactMenu Android Studio не дает выбрать когда создаешь стиль темы.

откуда выбрать ? тема приложение указывается в манифесте и пишется на клавиатуре , определяется стилями в приложении и тоже пишется , а не выбирается откуда то ..

PS: не Appcomact , а Appcompat

класс android.support.v4.widget.DrawerLayout работает только на API 22

в самом названии написано , что это библиотека поддержки , которая работает начиная от API 4