2015-08-29 4 views
4

У меня есть список предметов с пользовательским фоном. Фон представляет собой простую форму с закругленным вырезом, заполненным белым цветом. Поэтому мой взгляд похож на Карту. Я могу установить возвышение на нем, и он работает. Под ним тень.Высота над уровнем моря с прозрачным фоном

Но я хочу его оптимизировать. Фон моего окна белый, поэтому я подумал, что я могу удалить цвет фона View, чтобы уменьшить перерасход. Но это не так просто. Как только я установил цвет прозрачным в фоновом режиме моего представления, высота перестанет работать, и тень больше не рисуется. Я попытался использовать штрих, а не сплошной цвет внутри выведенного мной вида bakcground, но он тоже не работает. Вероятно, это из-за ViewOutline. Таким образом, я создал пользовательский OutlineProvider, который возвращает что-то вроде этого:

outline.drawRoundRect(0,0,view.getWidth(), view.getHeight(), someRadius); 

Теперь мой View имеет прозрачный фон и тень тоже видно, но есть что-то не так с ним. Это выглядит не очень хорошо. В верхней части View есть вид фона, видимый под ним. Ниже приведена фотография моего вывода. Слева - это вид с прозрачным фоном и пользовательский OutlineProvider. Справа - вид с непрозрачным белым фоном.

enter image description here

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

+0

если я должен задать вам нужна альтернатива или сделать ваш работать? – Elltz

+0

Опубликуйте несколько фотографий о том, какой результат вы получите :) Кроме того, если у вас нет проблем с производительностью, может быть идея не оптимизировать. Трудно догадаться, какие части программы нуждаются в оптимизации без проведения измерений, могут быть другие более крупные шейки бутылки, которые легче исправить, и может случиться так, что это изменение приобретает столько же силы или больше. – JohanShogun

+0

@ Elltz это не имеет значения. Просто хочу иметь карту с прозрачным фоном и тенью. –

ответ

Смежные вопросы