SORU
20 Temmuz 2010, Salı


bir bakış mutlak konumunu ayarlamak

Android bir görünüm mutlak konumunu ayarlamak mümkün mü? (Bir AbsoluteLayout olduğunu biliyorum, ama onaylanmadı.) 240x320px, ve onun merkezi ile 20x20px olan bir İmageView koymak istiyorum bir ekran var (100,100) konumunda sağlar. Ben ne yapmam gerekiyor? Yardım için teşekkürler, bu beni deli ediyor.

CEVAP
20 Temmuz 2010, Salı


RelativeLayout kullanabilirsiniz. Hadi 30x40 düzeni içindeki konumu (50,60) İmageView istediğini söylüyor. Etkinlik bir yerde:

// Some existing RelativeLayout from your layout xml
RelativeLayout rl = (RelativeLayout) findViewById(R.id.my_relative_layout);

ImageView iv = new ImageView(this);

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(30, 40);
params.leftMargin = 50;
params.topMargin = 60;
rl.addView(iv, params);

Daha fazla örnek:

Yerler iki 30x40 İmageViews (Sarı, Kırmızı) (50,60) ve (80,90) sırasıyla:

RelativeLayout rl = (RelativeLayout) findViewById(R.id.my_relative_layout);
ImageView iv;
RelativeLayout.LayoutParams params;

iv = new ImageView(this);
iv.setBackgroundColor(Color.YELLOW);
params = new RelativeLayout.LayoutParams(30, 40);
params.leftMargin = 50;
params.topMargin = 60;
rl.addView(iv, params);

iv = new ImageView(this);
iv.setBackgroundColor(Color.RED);
params = new RelativeLayout.LayoutParams(30, 40);
params.leftMargin = 80;
params.topMargin = 90;
rl.addView(iv, params);

Yerlerde bir tane 30x40 sarı İmageView (50,60) ve kırmızı İmageView <80,90^ başka bir 30x40 .görecelisarı İmageView:

RelativeLayout rl = (RelativeLayout) findViewById(R.id.my_relative_layout);
ImageView iv;
RelativeLayout.LayoutParams params;

int yellow_iv_id = 123; // Some arbitrary ID value.

iv = new ImageView(this);
iv.setId(yellow_iv_id);
iv.setBackgroundColor(Color.YELLOW);
params = new RelativeLayout.LayoutParams(30, 40);
params.leftMargin = 50;
params.topMargin = 60;
rl.addView(iv, params);

iv = new ImageView(this);
iv.setBackgroundColor(Color.RED);
params = new RelativeLayout.LayoutParams(30, 40);
params.leftMargin = 80;
params.topMargin = 90;

// This line defines how params.leftMargin and params.topMargin are interpreted.
// In this case, "<80,90>" means <80,90> to the right of the yellow ImageView.
params.addRule(RelativeLayout.RIGHT_OF, yellow_iv_id);

rl.addView(iv, params);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bmarian22

    bmarian22

    22 Aralık 2007
  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008
  • Sorikan

    Sorikan

    3 ŞUBAT 2008