SORU
21 ŞUBAT 2010, Pazar


Döşeme RelativeLayout programlı Görünümleri

Aşağıdaki Program aracılığıyla (yerine bildirimli XML) elde etmeye çalışıyorum:

<RelativeLayout...>
   <TextView ...
      android:id="@ id/label1" />
   <TextView ...
      android:id="@ id/label2"
      android:layout_below: "@id/label1" />
</RelativeLayout>

Diğer bir deyişle, nasıl ikinci TextView ilk altında görünür yapabilirim, ama kod olarak yapmak istiyorum:

RelativeLayout layout = new RelativeLayout(this);
TextView label1 = new TextView(this);
TextView label2 = new TextView(this);
...
layout.addView(label1);
layout.addView(label2);
setContentView(layout);

Güncelleme:

Teşekkürler, TreeUK. Genel yön anlıyorum, ama hala çalışmıyor - "B""". Bir örtüşür Neyi yanlış yapıyorum?

RelativeLayout layout = new RelativeLayout(this);
TextView tv1 = new TextView(this);
tv1.setText("A");

TextView tv2 = new TextView(this);
tv2.setText("B");
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.FILL_PARENT);
lp.addRule(RelativeLayout.RIGHT_OF, tv1.getId());

layout.addView(tv1);        
layout.addView(tv2, lp);

CEVAP
21 ŞUBAT 2010, Pazar


Bir araya getirmek mümkün oldum ne, görünüm LayoutParams kullanarak eklemeniz gerekir.

LinearLayout linearLayout = new LinearLayout(this);

RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
relativeParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);

parentView.addView(linearLayout, relativeParams);

Nispeten programlı olarak onlara kimlikleri atamak zorunda öğeleri konumlandırmak için sechastain tüm kredi.

TextView tv1 = new TextView(this);
tv1.setId(1);
TextView tv2 = new TextView(this);
tv2.setId(2);

addRule(RelativeLayout.RIGHT_OF, tv1.getId());

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Angry Paintballer

    Angry Paintb

    8 Ocak 2012
  • Dopelives

    Dopelives

    30 Temmuz 2009
  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006