SORU
4 Mayıs 2011, ÇARŞAMBA


() setBackgroundResource XML düzeni benim öznitelikleri atar

ListView bir öğe olarak kullanılan bir görünümü var. Benim özel adaptörü, görünüm View.setBackgroundResource() kullanarak arka plan listesinde öğenin konumuna bağlı olarak değişir. (Listedeki ilk ve son öğeleri için ayrı varlıkları var.)

Bu beklendiği gibi doğru arka plan görüntüsünü ayarlar, ama kötü görüş XML tanım kümesindeki her dolgusu tamamen göz ardı edilebilir, bu da yan etkisi vardır.

XML arka plan drawable kurdum ve bu adaptör zamanında bunu değiştirmek için çalışmayın, dolgu gayet iyi çalışıyor.)

Nasıl arka plan görüntüsünü değiştirmek ve dolgu muhafaza edebilir miyim? Bu bir hata mı?

EDİTburada başkası da aynı sorunu bulmuş gibi görünüyor: Does changing the background also change the padding of a LinearLayout?

CEVAP
4 Mayıs 2011, ÇARŞAMBA


Bu sorunu içine koştu. Muhtemelen LayerList kaynak drawable kullanıyorsun? Bunu kullanıyordum. Ne yazık ki," sabitleme yol, kodda bir hata gibi görünüyor, ama aşağı. kovalamadım "gerçek buldum Ancak, ben şanslı öyle olduğumu ayar "buggy" arka plan sonra benim görüşüm vardı zaten işlenen düzgün, yani sadece bir madde tasarrufu sonra geri doldurma değerleri sonra arka plan ayarlamak, e.g:

  if(condition) {
    int bottom = theView.getPaddingBottom();
    int top = theView.getPaddingTop();
    int right = theView.getPaddingRight();
    int left = theView.getPaddingLeft();
    theView.setBackgroundResource(R.drawable.entry_bg_with_image);
    theView.setPadding(left, top, right, bottom);
  }

EDİT: Alternatif olarak, dolgu önceki değerleri kullanmak zorunda değilsiniz, aynı zamanda, bir boyut değeri kullanabilirsiniz:

  int pad = resources.getDimensionPixelSize(R.dimen.linear_layout_padding);
  theView.setBackgroundResource(R.drawable.entry_bg_with_image);
  theView.setPadding(pad, pad, pad, pad);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • emimusic

    emimusic

    10 Mart 2006
  • Moodle

    Moodle

    11 Mayıs 2010
  • Drakinen

    Drakinen

    1 EYLÜL 2008