манипулировать тенями в Google Maps на платформе Android

1

Я использую Google Maps api для Android, и, добавляя маркеры карт, тени автоматически добавляются.

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

Есть ли способ сделать что-то с этим? Мне нравятся тени тени, и я хочу их сохранить. Большую часть времени они действительно добавляют к общему взгляду. Только в этом случае нет. Я надеюсь найти способ либо добавить белую/серовую строку single- вокруг маркера, где тень касания коснется маркера, либо сделать тень для теней несколько прозрачной, а не сплошной черной.

Что еще хуже (?) на моем устройстве (Android 2.2), прозрачность теневой копии не является постоянной, но она меняется при масштабировании. Иногда он достаточно прозрачен, как и должно быть (и тогда он выглядит хорошо), но большую часть времени он становится полностью черным.

Теги:
google-maps
transparency

1 ответ

1

Я бы просто отключил тени для теней и создал свой собственный как часть вашего изображения маркера в Photoshop, если вам не нравится, как это проявляется. Для этого сделайте это в своем подклассе overlay:

    @Override
    public void draw(final Canvas canvas, final MapView mapView, final boolean shadow) {
        // Don't draw the shadow layer
        if (!shadow) {
            super.draw(canvas, mapView, shadow);
        }
    }

В качестве альтернативы вы можете использовать тот же метод для рисования собственного пользовательского теневого слоя, если хотите обмануть API-интерфейсы чертежа, но, вероятно, проще просто вставить тень в изображение маркера заранее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню