Есть ли ограничение по XML/макету/ресурсу для Android-проектов/какой-то момент в компиляции toolchain? Добавление единственного (неиспользуемого, любого содержимого) файла макета XML в мой проект Android приводит к ошибке рендеринга в другом месте приложения. Удаление его исправляет. Является ли это ошибкой в какой-то части компиляции, и как я могу ее диагностировать или исправлять?Добавление двух файлов XML приводит к ошибке-ошибке. Wat?
Некоторый дополнительный контекст:
У меня есть относительно большого Android проекта. Сегодня я столкнулся с проблемой при добавлении функции: фоновая выделенная кнопка не отображалась, пока я не повернул приложение. Другие фоны/стили/стилизованные кнопки все еще работают, но этот фон очень сильно сломан, везде в приложении. Вращение фиксирует экран, на котором он включен, и каждый последующий экземпляр кнопки, до перезапуска процесса приложения.
После лота проб и ошибок, а также дебазация и экспериментирование, у меня есть некоторый уровень минимального воспроизведения, который является абсолютно надежным: добавление еще двух файлов макета XML в мой текущий проект вызывает ошибку. В частности, добавление 40-го XML-файла в папку только/res/layout. Удаление его позволяет кнопке правильно отображать, добавляя ее, чтобы разбить ее.
Файлы могут быть полностью неиспользованы, полностью с нуля, с любым содержимым и любым именем. Никаких других изменений проекта. Я использую обновленную версию Eclipse и Android SDK - я могу получить конкретные номера версий, если это необходимо. Он был реплицирован с этим проектом на компьютере коллектива с аналогичной настройкой. Я очистил, перестроил, вручную удалил продукты сборки, перезапустил мой компьютер, ошибка сохранилась.
Должно быть что-то более конкретное, вызывающее его, и мне бы хотелось предложения, которые помогут сузить его. К сожалению, это выходит за рамки моих знаний о системе сборки Android, и это не похоже на то, что непосредственно вызвано мной. Может ли кто-нибудь помочь? Или указать мне дополнительные ресурсы?
Подробнее:
- (не могу поверить, что я забыл это), это только кажется, произойдет на 2.3.6 устройств у меня есть. Это может происходить в других версиях 2.x, но 4.2.2 отображает кнопку правильно все время (хотя я не могу/не могу исключить ошибку в другом месте). Сегодня я буду испытывать эмуляторы.
- Случается на нескольких устройствах Android, хотя они по сути являются запасами (без настраиваемых тем и т. Д.).
- Текущая настройка приложения - это проект ядра-приложения, в котором используются три других проекта, которые используют этот основной проект для создания различных сборок (dev, production и т. Д.) Посредством слияния манифеста.
- Этот конкретный ресурс с ресурсом имеет уникальный идентификатор R, как он должен, поэтому он не кажется там столкновением. Я не сравнивал его с значениями системы R - есть ли хороший способ сделать это?
- Target SDK = 17, минимум = 8
Также интересно: переименование Drawable файла из "rounded_teal_button_normal" в "rounded_teal_button_nrml" ничего не меняет, но изменить его на "rounded_teal_button_aargh" ..Единственное важное отличие, которое я вижу, заключается в том, что «nrml» не изменяет алфавитный порядок файлов, а «aargh» (файл «_disabled» и «_pressed»). Однако это приводит к тому, что выталкиваемый теперь находится в «нормальном» положении, чтобы остановить рисование.
Изменение порядка выбора элементов состояния кнопки или состояние, которое вытягивает (или даже удаляет все другие стили), не имеет никакого эффекта.
Добавление третьего XML-файла вызывает проблему исчезнуть, и это, кажется, не вызывать по алфавиту, около вводимого коэффициента сломаться, но это очень трудно, чтобы быть уверенными, что это решение всех и «почему вопрос остается.
нет ограничений на добавление компоновки xml в ваш проект. Но это замедлит ваше приложение. Все больше android xml означает, что пользовательский интерфейс должен быть раздутым и визуализированным. –