我有一个带有线性布局的布局xml文件。子级之一也是ViewGroup相对布局。在我的Java代码中,我想根据我的要求更改此子Viewgroup的宽度。我试过了

enter code here

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


我无法执行此操作,因为findViewById(childViewGroup)不会获取仅适用于Views的ViewGroups。

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

在此先感谢您的帮助。

最佳答案

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

10-08 02:46