如何在java代码中更改嵌套布局的子视图组的宽度?

时间:2010-10-06 23:05:13

标签: android android-linearlayout relativelayout

我有一个带有线性布局的布局xml文件。其中一个孩子又是ViewGroup Relative布局。在我的java代码中,我想根据我的要求更改此子Viewgroup的宽度。我试过这个

enter code here

    ViewGroup childViewGroup = (LinearLayout)findViewById(childViewGroup);
    LayoutParams l = childViewGroup.getLayoutParams();
    l.width = 360; 
    childViewGroup .setLayoutParams(l);

我无法做到这一点,因为findViewById(childViewGroup)不会获取它仅为视图执行的ViewGroups。

注意:我无法为这个次要要求定义一个全新的layout.xml,因为它是一个巨大的布局文件,可能会导致性能开销。我想在我的java活动代码中更改子视图组的宽度。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

ViewGroup是View的子类,因此findViewById应该可以正常工作。您将结果转换为LinearLayout,childViewGroup是您在问题中指定的LinearLayout还是RelativeLayout? - codelark 10月6日23:21

答案 1 :(得分:0)

您可以使用ViewStubs

你可以在这里找到一个参考:
http://developer.android.com/resources/articles/layout-tricks-stubs.html