Android: лучший способ (9 патчей или форма градиента в xml) нарисовать два градиента (см. снимок экрана)

образец

Мне нужно добавить фон в текстовое представление, фон состоит из двух частей: верхняя половина представляет собой градиент от цвета A к B, нижняя часть представляет собой градиент от цвета C к D, а B не равен C, на самом деле это полу- прозрачная тень, я намеренно поместил оранжевый слой под ней, чтобы ее было хорошо видно.

Я ищу лучший способ сделать это, используя форму/градиент, я могу установить только startColor, centerColor и endColor, но мне нужны точки цвета. Использование 9 патча немного сложно. Или я могу объединить два градиента вместе, чтобы у каждого было два цвета, а вместе они дали бы мне четыре цвета?

Спасибо!


person hzxu    schedule 19.06.2011    source источник


Ответы (1)


9 кажется самым простым способом добиться желаемого. И я считаю, что это будет генерировать меньше вычислений для отображения вашего изображения.

9 патч не такой уж и сложный, даже легкий. Пробовали ли вы использовать инструмент исправления для Android 9?

person Snicolas    schedule 19.06.2011
comment
Спасибо, я попробовал. Но я так и не знаю, нужно ли создавать три версии для hdpi, mdpi и ldpi? У меня есть только одна версия арта. Я поместил его только в папку hdpi, результат выглядит хорошо на экране с высоким разрешением, но он не масштабируется (т.е. полоса занимает почти половину экрана) на экране с низким разрешением. - person hzxu; 19.06.2011
comment
Это интересный вопрос. Я еще не очень хорошо знаком с разными разрешениями в Android. - person Snicolas; 19.06.2011
comment
9patches просто позволяют вам определить определенные области вашего изображения, которые вы хотите растянуть (но не растягивать). Как вы собираетесь исправлять градиент? Я не думаю, что это действительно подходит в этом случае (точнее, это не лучше, чем растяжение изображения по умолчанию). - person antonyt; 19.06.2011