android 代码布局 记录

时间:2023-03-10 07:11:00
android 代码布局 记录

1、概述

android 中大部分ui 布局是用xml 进行的,但是用代码布局调整是不可避免的。自己比较喜欢写模版,有些时候子类再继承模版时,往往有一些ui上的调整,又懒得去重写一个xml,就偷懒用代码微调ui的布局

2、常用的微调

已经设置过布局的width height 后直接get 过来改长宽是会报错的。对应正确的操作是先

getLayoutParams() 回来再改长宽,对齐方式等,设置完毕requestLayout() 回去

ex1:

mEmojiView = (ImageView) findViewById(R.id.comment_emotion_imagebtn);// 表情

android.view.ViewGroup.MarginLayoutParams params = (MarginLayoutParams)
mEmojiView.getLayoutParams();

params.setMargins(DisplayUtil.dip2px(this, 8), 0, DisplayUtil.dip2px(this, 8), 0);

mEmojiView.requestLayout();

注:不同的布局对应不同种的LayoutParams,不同种的LayoutParams有不同的属性可以设置。LayoutParams没声明到对应的种类会报错

ex2:

ndroid.widget.RelativeLayout.LayoutParams lp = (LayoutParams) view.getLayoutParams();

lp.width = width;

lp.height = height;

lp.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);  //居中

view.requestLayout();