Android之动态改变布局

一提到动态改变布局,那肯定是通过Java源码来改变了。

这可以拿iOS的约束布局做类比。
在iOS中布局所需要的约束可以通过outlet拉到源代码中,并通过OC或者SWIFT源代码在运行时对其进行控制。

在Android中,由于视图是视图,布局规则是布局规则(在Android中用于布局的叫做规则),2者是分开的。由于你是在xml中写的控件,所以你首先需要把控件引入到Java源代码中,然后再去获取该控件的布局规则,之后你再对获取到的规则进行设置,这2者都设置好了,你再推倒xml中去。

就这么简单啊。

首先获取控件。
this.lineView = findViewById(R.id.login_lineview);
this.lineView.setBackgroundColor(Color.WHITE);
设置布局参数
RelativeLayout.LayoutParams lineViewLayoutParams = (RelativeLayout.LayoutParams)this.lineView.getLayoutParams();
lineViewLayoutParams.height = Tools.gainScreenWidth(this) * 2 / 3;
lineViewLayoutParams.setMarginEnd(Tools.gainScreenHeight(this) * 3 / 8);
把布局参数添加到控件上面。
this.lineView.setLayoutParams(lineViewLayoutParams);

这个就是Android中的动态布局了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容