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

  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007
  • Truc Minh

    Truc Minh

    23 Ocak 2011
  • FF Radioo

    FF Radioo

    14 ŞUBAT 2007