文章目录LayoutParams1.获取现有的LayoutParams2.创建新的LayoutParams配置参数并添加视图完整代码
当我们设计页面时,可能需要动态设置页面的位置。 例如,可以使用LayoutParams (子视图)将自己的意愿传达给parent view,动态获取状态栏的高度并释放它的位置
创建布局参数1。 如果希望获取现有布局参数并动态更改当前布局的值,可以获取当前控件的布局参数并进行更改,如下所示
androidx.constraint layout .构件. constraintlayoutxmlns 3360 Android=' http://schemas.Android.com/apk/RES/Android apk/RES-auto ' xmlns 3360 tools=' http://方案. Android.com tools ' Android 3360 layout _ width=' match _ parent ' Android : d : id=' @ id/edit _ name ' style=' @ style/edittext _ style ' Android : layout _ width=' match _ parent ' Android 3360 layout _ height=' wrap _ content ' Android 3360 ignore=' missing constraints '/androidx.constraintlayoor constraint layout.layoutparamslayoutparams=(constraint layout layout 2 .创建新的布局参数创建新的布局参数,然后首先指定父布局类型。 在此指定约束布局,然后设置布局参数的宽度高度。 这里设定为满。
constraint layout.layoutparamslayoutparams=newconstraintlayout.layout params (constraint layout.layout params.match _ 当然,在这里可以设定想要设定的其他参数
int top margin=layout params.top margin; layout params.topmargin=screen utils.getstatusheight (get context ) ) top margin; 添加视图view.setlayoutparams (布局参数); 完整代码xml
androidx.constraint layout .构件. constraintlayoutxmlns 3360 Android=' http://schemas.Android.com/apk/RES/Android apk/RES-auto ' xmlns 3360 tools=' http://方案. Android.com tools ' Android 3360 layout _ width=' match _ parent ' Android : d : id=' @ id/edit _ name ' style=' @ style/edittext _ style ' Android : layout _ width=' match _ parent ' Android 3360 layout _ height=' wrap _ content ' Android 3360 ignore=' missing constraints '/androidx.constraintlayoor
constraint layout.layoutparamslayoutparams=(constraint layout.layout params ) view.getLayoutParams ); int top margin=layout params.top margin; layout params.topmargin=screen utils.getstatusheight (get context ) ) top margin; view.setlayoutparams (layout params;