Android动态布局

来源:互联网 发布:mysql 默认访问地址 编辑:程序博客网 时间:2024/06/06 09:07

    做为一名初涉安卓的菜鸟,最近在使用Android动态布局时,碰到了一些坑点,今天就总结一下。原本是父布局RelativeLayout里面嵌套了一个子布局LinearLayout,而我现在想要动态调整这个LinearLayout的高度,但是在这里碰到了两个问题。

1.设置动态布局后没有效果。
原因:在设置动态布局时未指明其父布局。因为子布局属性的修改也是相对于父布局而言的。而我在使用的时候是用子布局来进行声明,所以导致了这个问题。
修改代码:

int height = 66;RelativeLayout.LayoutParams heightParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, height);linearContain.setLayoutParams(heightParams);

2.我在按照1的方法进行了修改之后,确实所设置的动态调整有了效果,但是又出现了第二个问题,LinearLayout中所设置的居中属性无效了。。。。。。。。后来在同学的提示下,发现因为第一步在设置属性时采用的是new的方式!!!!!之后我就采用了别的方式进行了动态设置。
修改代码:

int height = 66;RelativeLayout.LayoutParams heightParams = (RelativeLayout.LayoutParams) linearContain.getLayoutParams();heightParams.height = height;linearContain.setLayoutParams(heightParams);

到这里这个问题才彻底解决完毕 ~~~~

原创粉丝点击