动态增加android中的相对布局大小

时间:2011-02-18 05:57:44

标签: android

我有一个相对布局,我正在显示一个页面和一些内容。当我缩放我的页面时......布局大小没有增加。我希望我的布局动态增加其大小。我该怎么设置? 我试过用java代码做的。

contentLayout.getLayoutParams().height = x (some value which is equal to the page size)
contentLayout.requestLayout()

但这不起作用。我还在xml文件中将布局参数android:layout_widthandroid:layout_height设置为wrap-content

请帮助我。谢谢

1 个答案:

答案 0 :(得分:8)

你可以这样做。我还添加了边距的设置:

RelativeLayout targetItem = (RelativeLayout) findViewById(R.id.RelativeLayout01);
RelativeLayout.LayoutParams adaptLayout = new RelativeLayout.LayoutParams(mWidth, mHeight);
adaptLayout.setMargins(marginLeft, marginTop, marginRight, marginBottom);   
targetItem.setLayoutParams(adaptLayout);                    

对于mWidth和mHeight,您还可以设置dip值以使其适应不同的屏幕尺寸。简单的方法是在strings.xml中定义维度并使用它们,而不是使用绝对值。

因此,如果您将relative_width定义为120dip,将relative_height定义为100 dip,则在代码中

RelativeLayout.LayoutParams adaptLayout = new RelativeLayout.LayoutParams(getResources().getDimension(R.dimen.relative_width), getResources().getDimension(R.dimen.relative_height));