Android - 制作LinearLayout" match_parent"在运行时

时间:2016-02-25 18:16:04

标签: android android-layout

我有两个LinearLayouts,第一个高达屏幕的一半,第二个(低于它)应该与整个屏幕一样高。

这是个主意:

<LinearLayout ...>
   <LinearLayout id=1>
     ...
   </...>
   <LinearLayout id=2>
     <SlidingTabLayout ...>
     </ ...>
     <ViewPager ...>
     </ ...>
   </ ...>
</ ..>

第二个滚过第一个,这就是为什么我需要第二个像整个活动一样高大的肌肉。 问题是,由于第二个布局在第一个布局下,我无法在XML中将其高度设置为 match_parent ,而我必须在&#34;运行时&#34;中进行。
我读了很多帖子但没有任何效果,任何想法?
期待!

解决方法:
正如所建议的,我在OnResume()中测量了第一个LinearLayout的高度,我以编程方式移动了第二个

2 个答案:

答案 0 :(得分:1)

试试这个:

LinearLayout.LayoutParams vp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
view.setLayoutParams(vp);    // view here is linearLayout with id = 2

答案 1 :(得分:0)

试试这个:

<RelativeLayout ...>
   <LinearLayout id=2
    height="some dimension"
    android:layout_alignParentBottom="true">
     <SlidingTabLayout ...>
     </ ...>
     <ViewPager ...>
     </ ...>
   </ ...>
   <LinearLayout id=1
    height="match_parent"
    above="id=2">
     ...
   </...>
</ ..>

请注意,根LinearLayout此处为RelativeLayout

旁注:酷伪代码:)