манипулировать тенями в Google Maps на платформе Android - PullRequest
1 голос
/ 08 июня 2011

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

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

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

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

1 Ответ

1 голос
/ 08 июня 2011

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

    @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 рисования, но это, вероятно, прощепросто приклеить тень на маркерное изображение заранее.

...