我有一个带有线性布局的布局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活动代码中更改子视图组的宽度。
提前感谢您的帮助。
答案 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