Прежде всего, ответьте на свой заглавный вопрос:
Вы можете сослаться на фон меню опций и прочитать его, прочитав атрибуты текущей темы .Атрибут для этого panelFullBackground
.Например, установите его в качестве фона текстового представления в XML¹:
<TextView android:background="?android:attr/panelFullBackground"
... />
Обратите внимание, что фон выглядит сплошным цветом, но это не так - это фактически растровое изображение.Если вы внимательно посмотрите, вы увидите серую рамку вверху (android 2.3 +) или тень (<= android 2.2), так что это немного сложно.К счастью, есть другой атрибут, называемый <code>panelColorBackground, который соответствует цвету фона отрисовываемого объекта как можно ближе.Так что если вы хотите просто нормальный цвет фона, используйте его вместо этого.
¹ Это, конечно, также можно прочитать из кода, но я не знаю, как это происходит с макушки головы на данный момент,возможно я посмотрю его и отредактирую позже.
Относительно значков
Итак, у вас есть цвет, как указано выше, но вам все равно придетсяобработайте это, чтобы знать, является ли это темным или ярким цветом.Вы можете сделать это, но это не обычный способ работы с этими значками и, вероятно, хорошая работа, пока вы не охватите все возможные случаи - не говоря уже о том, что вы должны создавать значки для каждого варианта.
Обычно вы должны использовать стиль иконок меню платформы.Это работает на всех устройствах и выглядит знакомым для ваших пользователей (пользовательские значки, которые не следуют этому, часто выглядят "неправильно" - например, астрономический файловый менеджер делает это, я считаю) .Вы можете сделать это вручную (см. рекомендации ) , но лучшей альтернативой является Android Asset Studio.Он поставляется в двух вариантах:
- В виде веб-приложения
- Интегрировано в последнюю версию плагина ADT для eclipse
(под File->New->Other->Android Icon Set
)
Рабочий процесс для обоих очень похож, выберите пункт «Значок меню» и следуйте указаниям мастера.Он предложит вам ввести простое черно-белое растровое изображение нужного вам значка, которое просто очерчивает его форму.После того, как вы укажете один, ресурсная студия сгенерирует все для вас.Поэкспериментируйте с опцией «clipart», в которой есть несколько примеров растровых изображений, готовых посмотреть, как это работает.По завершении веб-приложение предоставляет вам простой zip-файл, который можно извлечь в каталог вашего проекта, версия eclipse добавляет его непосредственно в проект, выбранный вами в мастере.