-2

Мне нужно найти замену для параметра линейного веса макета в случае RelativeLayout.Относительный вес макета

Ниже приведен код для LinearLayout

LinearLayout.LayoutParams fp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,0); 
fp.weight = 2; 
FrameLayout parent_frame = (FrameLayout) findViewById(R.id.frame_container); 
parent_frame.setLayoutParams(fp); 

LinearLayout.LayoutParams tp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,0); 
tp.weight = 1; 
FrameLayout popup_layout = (FrameLayout) findViewById(R.id.popup_layout_id); 
popup_layout.setLayoutParams(tp); 

мне нужно сделать то же самое, если родительское расположение изменено на RelativeLayout, У меня есть ниже код, но выход черный экран.

RelativeLayout.LayoutParams fp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,0); 
    //fp.weight = 2; 

    FrameLayout parent_frame = (FrameLayout) findViewById(R.id.frame_container); 
    parent_frame.setLayoutParams(fp); 

    RelativeLayout.LayoutParams tp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,0); 
    //tp.weight = 1; 

    FrameLayout popup_layout = (FrameLayout) findViewById(R.id.popup_layout_id); 
    popup_layout.setLayoutParams(tp); 

В основном то, что мне нужно, это дисплей два макет по вертикали с 70% экрана с первым макетом и 30% с вторым, и я не могу использовать LinearLayout в XML, поскольку это требует много коды изменения.

+0

Почему вы не окружать ваш родственник расположение внутри линейной топологии? –

ответ

2
+0

Я упомянул в вопросе, что мне нужно сделать это только с RelativeLayout, так как я не могу изменить свой XML-файл. – Haris

+0

Это не было ясно из вопроса для меня - почему вы не можете изменить xml-макет? – ligi

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