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

  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011
  • super1988guy

    super1988guy

    9 Aralık 2007