2013-05-21 59 views
0

設置相對佈局的高度和寬度我想通過編程方式在背景圖像的相對佈局中添加一個imageView,TextView.I爲相對佈局調整了高度和寬度,但它不適合指定的寬度和身高。我在哪裏走錯了ploesae幫助 預先感謝 這裏是我的代碼:如何通過代碼

RelativeLayout.LayoutParams lp_topheader = new RelativeLayout.LayoutParams(800,45); 
    relative_topheader = new RelativeLayout(this); 
    relative_topheader.setLayoutParams(lp_topheader); 
    relative_topheader.setId(1); 
    Resources resources_topheader = getResources(); 
    Drawable drawable_topheader = resources_topheader.getDrawable(R.drawable.headerbar_m); 
    relative_topheader.setBackgroundDrawable(drawable_topheader); 
    setContentView(relative_topheader); 
RelativeLayout.LayoutParams lp_banner = new RelativeLayout.LayoutParams(385, 206); 
    relative_banner = new RelativeLayout(this); 
    relative_banner.setId(2); 
    relative_banner.setLayoutParams(lp_banner); 
    lp_banner.setMargins(40, 40, 0, 0); 
    lp_banner.addRule(RelativeLayout.BELOW,1); 
    ImageView iv = new ImageView(this);   
    iv.setScaleType(ScaleType.FIT_XY); 
    iv.setLayoutParams(lp_banner); 
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.banner_image); 
    iv.setImageBitmap(bitmap); 
    setContentView(iv, lp_banner); 
+0

首先創建完整的佈局,然後將其設置爲的setContentView()。 – NaserShaikh

回答

2

根視圖(也就是你設置爲內容視圖的視圖)總是填滿窗口的整個區域。如果您希望只取某個部分,請將其添加到另一個將佔據整個窗口的「佈局」。

試試這個,而不是最後一行:

LinearLayout ll = new LinearLayout(this); 
ll.addView(iv, lp_banner); 
setContentView(ll); 
+0

請問你能解釋一下嗎 – Napster

+0

是的,我編輯了答案 – Rotem

+0

- @ Rotem上面給出的代碼(我的代碼)可以工作,但只有第二個佈局顯示在模擬器中,這是我的第二個問題。 – Napster