在代码中动态调整布局——LayoutParams

在写侧边栏时需要使用动态调整布局,点击按钮出现侧边栏。这里用到了LayoutParams。

LayoutParams其实我们一直在用,在布局文件.xml中,我们经常写android:layout_width="xx";这里带“layout_”的属性其实都是LayoutParams的属性,它告诉父控件自己的长宽位置等。在代码中,我们就需要根据LinearLayout等布局对象来获得该布局的布局参数对象LayoutParams。然后通过设置该布局参数对象的属性值动态控制布局的位置大小等。

使用方法大致如下:

import android.widget.LinearLayout;

import android.widget.LinearLayout.LayoutParams;


private LinearLayout menu;

private LayoutParams menuParams;


menu = (LinearLayout) findViewById(R.id.menu);

menuParams = (LayoutParams) menu.getLayoutParams();


menuParams.leftMargin = 0;

menu.setLayoutParams(menuParams);

这里要注意的是,有时会出现menuParams不包含leftMargin 属性等错误,那是因为LayoutParams不仅是LinearLayout下的一个类,也是很多如GroupView下的子类,有些下面的就不包含leftMargin 属性,当要调整的是整个布局的参数,一定要引入android.widget.LinearLayout.LayoutParams;

文章参考:

http://www.open-open.com/lib/view/open1373330713831.html

https://www.cnblogs.com/ajeyone/p/layoutparams.html

猜你喜欢

转载自blog.csdn.net/Michaelia_hu/article/details/80928074