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" <- это работает

Тогда вы можете использовать только одно изображение в высоком разрешении в качестве значка для всех устройств! Выглядит отлично! Смотрите также картинку ниже (между красным прямоугольником;-)):

введите описание изображения здесь

Другие вопросы по тегам