2012-06-09 2 views
0

Просьба проверить это.Проблема в динамической относительной компоновке

RelativeLayout layout = new RelativeLayout(this); 

    ImageView item = new ImageView(this); 
    item.setImageResource(R.drawable.invite); 
    item.setAdjustViewBounds(true); 

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.ALIGN_LEFT, RelativeLayout.TRUE); 
    item.setLayoutParams(params); 
    item.setId(mIconIdCounter); 
    layout.addView(item, params); 
    params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.BELOW, item.getId()); 

    TextView tv1=new TextView(getApplicationContext()); 
    tv1.setText("Invite"); 
    tv1.setTextSize(15); 
    tv1.setId(2); 
    params.addRule(RelativeLayout.BELOW, item.getId()); 
    layout.addView(tv1, params); 

    params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.RIGHT_OF, item.getId()); 

    ImageView item2 = new ImageView(this); 
    item2.setImageResource(R.drawable.logout); 
    item2.setAdjustViewBounds(true); 
    item2.setLayoutParams(params); 
    item2.setId(3); 
    layout.addView(item2, params); 

    params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.BELOW, item2.getId()); 
    params.addRule(RelativeLayout.RIGHT_OF, item.getId()); 
    TextView tv2=new TextView(getApplicationContext()); 
    tv2.setText("Logout"); 
    tv2.setTextSize(15); 
    tv2.setId(4); 
    params.addRule(RelativeLayout.BELOW, item2.getId()); 
    layout.addView(tv2, params); 


    params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE); 
    ImageView item3 = new ImageView(this); 
    item3.setImageResource(R.drawable.fbplaceholder); 
    item3.setAdjustViewBounds(true); 
    item3.setLayoutParams(params); 
    item3.setId(5); 
    layout.addView(item3, params); 

Здесь я должен установить item3 Imageview в приведенном выше примере изображения. Но я не могу этого сделать. В этом элементе кода item3 находится перекрывающий элемент. Я должен установить его в верхней части изображения изображения. Просьба предложить мне, где т не так.

Заранее спасибо Gaurav Gupta

ответ

0

как вы добавления элемента в последнем, и это относительное расположение, где элемент перекрывает согласно Params

попробовать это

добавить Элемент3 в качестве первого элемента

и

в элементе params добавить этот параметрs.addRule (RelativeLayout.BELOW, item3.getId ());

Смежные вопросы