一提到动态改变布局,那肯定是通过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中的动态布局了。

更多相关文章

  1. Android(安卓)fill_parent、wrap_content和match_parent的区别
  2. Android之解决全屏切换非全屏的页面压缩问题
  3. Android颜色编辑器的制作中遇到的问题
  4. Android(安卓)Studio 提示与技巧(官方文档翻译)
  5. Android(安卓)自定义控件布局 NullPointerException findViewByI
  6. Android无限循环ViewPager
  7. Android让VideoView填充满屏幕/父布局并保证不变形
  8. 关于android的零碎问题的整理
  9. Android(安卓)XML 中schema和自定义属性的关系

随机推荐

  1. windows 8环境—android studio初步体验(
  2. Android消息机制Looper与VSync的传播
  3. [Android]如何做一个崩溃率少于千分之三
  4. Chronometer android计时器组件Chronomet
  5. [Android]iTextG与SpongyCastle踩坑经历
  6. Android(安卓)API Guides---USB Host and
  7. 6个必看的Android网站
  8. Android之EditText特殊小技巧
  9. Android系统架构特点及优劣分析
  10. Android入门教程(五)之------第一个Andro