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

  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • Attempts at least

    Attempts at

    1 Ocak 2007