2011-03-11 23 views
5

yılında dolgu ayarlama. Simge, üzerine çizilebilir simge görüntüsü ile 2 çekilebilir, 9 yamalık arka plan görüntüsünden yapılmıştır.Android: Benim android uygulama için dinamik bir simge menü oluşturmak çalışıyorum bir bindirme görüntü arka

overlay two images in android to set an imageview ile ilgili olarak, aşağıdaki kodları benimle birlikte güzelce kullanıyorum. simge arka içinde bazı boşluk olacak şekilde

 Resources res = parent.getResources(); 
     Drawable icon_bg = res.getDrawable(R.drawable.menu_icon_bg); 
     Drawable icon = res.getDrawable(R.drawable.menu_icon); 

     // Not working 
     int int_icon_height = icon.getIntrinsicHeight(); 
     int int_icon_width = icon.getIntrinsicWidth(); 
     Rect rect_icon_bg_bound = new Rect(); 
     rect_icon_bg_bound.left = 0;//(int) Math.round(int_icon_width*-1.5); 
     rect_icon_bg_bound.right = (int) Math.round(int_icon_width*1.5); 
     rect_icon_bg_bound.top = 0;//(int)Math.round(int_icon_height*-1.5); 
     rect_icon_bg_bound.bottom = (int)Math.round(int_icon_height*1.5); 
     icon_bg.setBounds(rect_icon_bg_bound); 

     Drawable[] layers = new Drawable[2]; 
     layers[0] = icon_bg; 
     layers[1] = icon; 

     LayerDrawable layerDrawable = new LayerDrawable(layers); 
     ImageView iv_icon_combined = new ImageView(getApplicationContext()); 
     iv_icon_combined.setImageDrawable(layerDrawable); 

Ben şu anda karşı karşıya ediyorum problem dolgu ekliyor.

Umut peşin, burada sayesinde bazı aydınlanma alır.

+0

Merhaba, hala bu soruya takılıyorum. Bu konuda yardımcı olabileceğim başka bir yer var mı? – InSheNaiDe

cevap

5

Sadece aynı sorunla karşılaştım. LayerDrawable'daki setLayerInset yöntemine bir göz atın. Katman düzeyini bir argüman olarak alır ve daha sonra, çekilebilir olanın sol, üst, sağ ve alt sınırlarını değiştirir.

+0

Çok teşekkürler. Çalışıyor! – InSheNaiDe

İlgili konular