SORU
19 Ocak 2013, CUMARTESİ


Hareketli MapFragment (SurfaceView) siyah arka plan titreme neden olur

Yeni Android Google Maps API (v2) uygulamaya çalışıyorum. Ancak iyi SlidingMenu ile gitmek görünmüyor. Bildiğiniz gibi, MapFragment Uygulama SurfaceView dayanmaktadır. Sorun SurfaceView etrafında hareket gibi değil - hareketli manzaralar yerleştirmeden yani

Taşıdığınızda, kendi piksel aslen koydu yerde bir kara delik bırakır. this gibi bir şey görünüyor.

Bu sorun kısmen SurfaceView üzerinde şeffaf bir arka plan belirleme ya da üzerinde View şeffaf koyarak çözülebilir. Ben sadece nasıl göründüğüne bakmak yapar eğer farklı bir sorun varsa benim için bu sonuçlar kabul edilemez ise, ya da bir açıklaması yok.

Nasıl göründüğünü görmek için, lütfen THIS VIDEO izle.

(kalite için, ama sorun zaten kolayca görülebilir üzgünüm)

Normal bir liste görünümü (turuncu ekran) SlidingMenu, açılırken çekti olduğunda animasyon pürüzsüz ve güzel değildir. Ama en kısa sürede MapFragment göründüğü gibi, harita üzerinde bazı garip ferahlatıcı/titrek/senkronizasyon sorunu var.

Test HTC One S ve Samsung Galaxy ACE.


Benim super-duper-fikrin çözme: her zaman açılış animasyon başlar, bir ekran MapFragment (öyle olmalı, mümkün olduğunca SurfaceView) ve yatıyordu over boyunca animasyon. Ama ben gerçekten bunu yapmak için nasıl bilmiyorum. Taking screenshot of a map isn't possible, ama belki de birisi bu ilham alın.

Ya da belki başka bir yol göster yeniden devre dışı bırakmak, bilmiyorum.


GÜNCELLEME:

Bulundu this.

SurfaceView bu kısıtlamaları kaldırmak için TextureView için değiştirilebilir gibi görünüyor. Ama MapFragment SurfaceView dayalı olduğu için, eğer elde edilebilir bilmiyorum.

Başka bir güncelleme Bu sorun 4.1 cihazlar üzerinde çözülmüş gibi görünür . Onlar sadece TextureView kullanılır. ama alt sürümlerinde hala geçici çözümler kullanmak zorunda.

CEVAP
15 Mayıs 2013, ÇARŞAMBA


Tabii ki uygun bir çözüm Google, sorunu gidermek için (Android Maps V2 bakın sorun 4639: http://code.google.com/p/gmaps-api-issues/issues/detail?id=4639)olacak.

Ancak, iş arkadaşlarımdan biri, sadece kabını ötesinde göster uzanan önerdi. Eğer kabını görünür bölgenin ötesine harita parçası uzatmak, şu şekilde:

android:layout_marginLeft="-40dp"
android:layout_marginRight="-40dp"

küçült/titremeyi ortadan kaldırabiliriz. Yeni aygıtlar (örneğin Galaxy Nexus) bu hack sonra hiçbir titreme gösterin ve eski cihazlar (örneğin LG Optimus V) düşük titremeyi göstermek. Biz bilgi, windows seçili olduğunda ortalanmış böylece her iki tarafta marjlarını genişletmek zorunda.


Güncelleme: Bu sorun Ağustos tarihinde Google tarafından düzeltildi. 28 ama hala bir yayın haline getirmiş olmalı diye tahmin ediyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AyfionGaming

    AyfionGaming

    20 ŞUBAT 2013
  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007