1

Android用のGoogle Maps APIを使用しており、マップマーカーを追加するとドロップシャドウが自動的に追加されます。

今私が抱えている問題は、私が使用しているマーカーの 1 つが黒であり、ドロップ シャドウも黒一色であるため、ドロップ シャドウと実際のマーカーの区別がなくなったため、非常に見苦しく見えます。

それについて何かする方法はありますか?私はドロップ シャドウが好きで、それを維持したいと考えています。ほとんどの場合、それらは実際に全体的な外観に追加されます. その場合はそうではありません。ドロップ シャドウがマーカーに接触するマーカーの周りに単一ピクセルの白/灰色の線を追加するか、ドロップ シャドウを黒ではなくやや透明にする方法を見つけたいと思っています。

さらに悪いことに (?) 私のデバイス (Android 2.2) では、ドロップ シャドウの透明度は一定ではなく、ズームすると変化します。あるべき姿でかなり透明になることもありますが (その場合は見栄えがよくなります)、ほとんどの場合、完全に黒くなります。

4

1 に答える 1

1

レンダリング方法が気に入らない場合は、ドロップ シャドウを無効にして、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 をいじりたい場合は、同じ方法を使用して独自のカスタム シャドウ レイヤーを描画することもできますが、事前にマーカー イメージに影を貼り付ける方が簡単です。

于 2011-06-08T15:53:58.783 に答える