2011-07-14 15 views
23

Bir harita pimi (kabarcık) ve bazı metinlerden oluşan bir çizim oluşturmak istiyorum. Kabarcık arka planda ve ön planda bulunan metinde olmalıdır.Görüntü ve metni birleştirilebilen bir çizim ile birleştirin

Bu çizilebilir,numaralı sınıfından geçirilerek,numaralı uzantılara aktarılmalıdır. Başka bir deyişle, haritada görünen balonda metin göstermek istiyorum.

Hello MapView tutorial Bu yöntem kaynaklarından bir çizilebilir alır

+2

Bize biraz kod verin! En azından burada açıkladığınız şeyi yazmayı deneyin ve hızlı yanıt için – iTurki

+0

yardımına şükrederiz. Aşağıdaki örnekte MyItemizedOverlay nesnesine erişilebilen MyItemizedOverlay nesnesini iletmek istiyorum: \t itemizedOverlay = new MyItemizedOverlay (drawable, mapView); \t \t \t \t point = new GeoPoint ((int) (Search.slat [i] * 1E6), (int) (Search.slon [i] * 1E6)); \t \t OverlayItem overlayItem = new OverlayItem (nokta, Search.address [i], Search.city [i]); – Abhi

+0

Sorunuzu kod ile günceller misiniz? Okumak gerçekten zor – iTurki

cevap

62

kullanıyorum, bunun üstüne bazı metinleri çizer ve yeni çekilebilir döndürür. Tek yapmanız gereken, balonunuzun kaynak kimliğini ve istediğiniz metni vermektir. Ardından, istediğiniz yere geri alınabilir çekilişten geçebilirsiniz.

public BitmapDrawable writeOnDrawable(int drawableId, String text){ 

     Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId).copy(Bitmap.Config.ARGB_8888, true); 
     Paint paint = new Paint(); 
     paint.setStyle(Style.FILL); 
     paint.setColor(Color.BLACK); 
     paint.setTextSize(20); 

     Canvas canvas = new Canvas(bm); 
     canvas.drawText(text, 0, bm.getHeight()/2, paint); 

     return new BitmapDrawable(bm); 
    } 

Eğer

return new BitmapDrawable(context.getResources(), bm); 

Bu istenmeyen resized çekilebilir önlemek gibi

BitmapDrawable (Resources res, Bitmap bitmap) 

Yani, bağlam tutarak son dönüş gereken bir şey bu kurucu ihtiyaç yoğunluğu korumak için.

+0

teşekkürler çok teşekkür ederim. hızlı cevap için tekrar çalışıyoruz. Tekrar yazabildiğim kadarıyla metin olarak 123 veriyorum ama sadece 1. gösteriyorum. Küçük boyutlu olduğu için sadece bir tane görüntülediğimi düşünüyorum. Boyutu artırın veya başka bir sorun var Teşekkür ederiz – Abhi

+0

Balonun boyutunu artırabilir veya metnin boyutunu azaltabilirsiniz. Gördüğünüz gibi, metin artık 20'ye ayarlandı. 10 ile deneyebilirsiniz. – Marmoy

+2

Sadece bunun bir xml tanımlı çizilebilir ile çalışmadığını söylemek istedim. Bu tür çekilebilir bir GradientDrawable olduğu gibi. – toobsco42

İlgili konular