Android: ограничьте масштабируемые элементы рисования, такие как значок, одним файлом
Ранее я сделал несколько приложений с помощью Adobe Flash Builder. Это прекрасно работает, но в некоторых случаях это не лучший выбор, поэтому я начну с разработки приложений для Android с использованием ADT.
Как и в Flash Builder, вы можете установить несколько значков для разных разрешений экрана. Я могу понять, почему, но обнаружил, что это не является действительно необходимым при создании одного значка с высоким разрешением, это прекрасно работает (уменьшение масштаба лучше, чем увеличение). Это также позволяет избежать дополнительной работы, необходимой для создания этих значков, всего лишь одного значка.
Короче говоря, я хочу создать только один значок, 144x144 пикселей с разрешением 96 точек на дюйм и сказать Android, чтобы использовать этот значок.
Также я хочу указать значок приложения на каталог ресурсов вместо каталога res/drawable. Причина этого заключается в том, что значок может быть повторно использован (веб-) приложением, и по другой причине я создал инструмент webApp для создания сжатой версии webApp и поместил содержимое в каталог ресурсов проекта Android.
Поскольку webApp также может работать в браузере, я уже создал несколько значков (например, favicon, apple-touch-icon и apple-touch-startup-image) и хочу автоматически использовать эти значки в проекте Android.
Идея также состоит в том, чтобы создать шаблон проекта приложения, чтобы было довольно просто создать приложение для Android из веб-приложения.
Вопрос
Энди идея, как изменить местоположение, например, значок приложения? Использование пути не работает (генерирует ошибку, не может скомпилировать).
android:icon="@drawable/ic_launcher"
android:icon="assets/appicon.png" #<- doesn't work
1 ответ
На самом деле нашел решение сам и довольно прост. Единственное, что немного сложно в ADT, чтобы проверить новое объявление, потому что сначала "он говорит", что объявление недействительно. Обходной путь - обрезать (ctrl+X) объявление, выполнить очистку проекта с помощью Project|Clean, а затем вернуть его, вставив его снова (ctrl+V). Странно, но это правда;-)
Вы можете объявить строковый ресурс следующим образом (в файле XML):
<resources>
<string name="app_icon">assets/appicon.png</string>
</resources>
android:icon="@string/app_icon"
<- это работает
Тогда вы можете использовать только одно изображение в высоком разрешении в качестве значка для всех устройств! Выглядит отлично! Смотрите также картинку ниже (между красным прямоугольником;-)):