0

事前定義されたパスでマップを描いています。マップは移動可能で、ズームインおよびズームアウトできます。これは素晴らしく、迅速かつ流暢に機能し、Android 4.0.4 でズームインすると見栄えがよくなりました。

4.1.2 への更新を取得してから、すべてが異なります。図形をズームするとピクセル化され (添付の写真のように不鮮明になります)、マップを移動すると非常にぎくしゃくします。私はコードを変更しませんでした。

驚くべきことに、エミュレーター (AVG) では、ズームしても見栄えがします (下のスクリーンショットを参照)。

私がしていること: ,x) カスタム ビューの onDraw() メソッドで - マップの移動は、カスタム ビューの onDraw() メソッドで canvas.translate(x,y) によって行われます

私が試したこと:

  • canvas.scale() を使用するのではなく、スケーリングですべてのパスを変換しようとしました->これは機能しますが、シェイプが大きくなり、描画できません:「シェイプパスが大きすぎてテクスチャにレンダリングできません」

  • 大きな座標でパスを再作成します。同じ問題と非常に遅い->「シェイプパスが大きすぎてテクスチャにレンダリングできません」

  • 形状をいくつかの形状に分割することは解決策ではありません。私の 4.0.4 では以前から機能しており、境界線を正しく描画することも好きだからです。(海岸線など)

ここに画像の説明を入力

エミュレータ

ここに画像の説明を入力

4

1 に答える 1

0

私は問題を見つけました: 新しい JellyBean Update では、ハードウェア アクセラレーションがデフォルトでオンになり、ハードウェア アクセラレーション シームがバグだらけになりました。AndroidManifest.xml の「ハードウェア アクセラレーション」を明示的に false にする必要がありました。

    <application
   android:hardwareAccelerated="false"
    android:icon="@drawable/ic_launcher"

よろしく

于 2013-03-26T19:50:32.560 に答える