2012-02-07 141 views
0

我正在使用一個absolutelayout(我知道它的棄用)。我正在動態添加imageview,但無法從屏幕左上角更改其位置。android sdk set imageview x y座標

ImageView iv = new ImageView(this); 
iv.setImageResource(R.drawable.orb1); 
this.addContentView(iv, new AbsoluteLayout.LayoutParams(80, 80, 200, 200)); 

但是,這會在左上角0,0而不是其他任何位置創建圖像。如果我更改佈局參數的最後兩個值,它仍然保持在該位置。

有人可以協助嗎?謝謝。

編輯:使用相對佈局仍然無法正常工作

ImageView iv = new ImageView(this); 
iv.setImageResource(R.drawable.orb1); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(80, 80); 
params.topMargin=50; 
params.leftMargin=50; 
this.addContentView(iv, params); 

回答

3

添加視圖使用addView方法的佈局,因爲佈局PARAMS可以應用到佈局沒有窗戶,所以做到以下幾點:

RelativeLayout rlMain = (RelativeLayout) findViewById(R.id.mainLayout); 

ImageView iv = new ImageView(this); 
iv.setImageResource(R.drawable.orb1); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(80, 80); 
params.topMargin=50; 
params.leftMargin=50; 
rlMain.addView(iv, params); 

取代mainLayout到你的ID提供給relativelayout,應該添加imageVIew。

0

我認爲你不能使用AbsoluteLayout archieve這一點。您應該使用RelativeLayout或FrameLayout來精確控制視圖的位置。

我曾經回答過類似的問題。請在這裏看到:How to move a Textview dynamically on the screen? (framelayout)

+0

將其更改爲相對(請參閱編輯)。仍然不起作用? – Kamran224 2012-02-07 04:13:20

+0

我的意思是,這個imageview本身應該在一個relativelayout內。 – Huang 2012-02-07 04:19:50

+0

我將佈局更改爲realtivelayout(xml文件)。 – Kamran224 2012-02-07 04:29:12